用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

栏目: IT技术 · 发布时间: 6年前

今天继续来分析爬虫数据分析文章,一起来看看网易严选商品评论的获取和分析。

警告:本教程仅用作学习交流,请勿用作商业盈利,违者后果自负!如本文有侵犯任何组织集团公司的隐私或利益,请告知联系萝卜删除!!!

声明:这是一篇超级严肃的技术文,超!级!严!肃!请本着学习交流的态度阅读,谢谢!

用  <a href='https://www.codercto.com/topics/20097.html'>Python</a>  爬取网易严选妹子内衣信息,探究妹纸们的偏好

网易商品评论爬取

分析网页

评论分析

进入到网易严选官网,搜索“文胸”后,先随便点进一个商品。

用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

在商品页面,打开 Chrome 的控制台,切换至 Network 页,再把商品页面切换到评价标签下,选择一个评论文字,如“薄款、穿着舒适、满意”,在 Network 中搜索。

用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

可以发现,评论文字是通过 listByItemByTag.json 传递过来的,点击进入该请求,并拷贝出该请求的 URL:

https://you.163.com/xhr/comment/listByItemByTag.json?csrf_token=060f4782bf9fda38128cfaeafb661f8c&__timestamp=1571106038283&itemId=1616018&tag=%E5%85%A8%E9%83%A8&size=20&page=1&orderBy=0&oldItemTag=%E5%85%A8%E9%83%A8&oldItemOrderBy=0&tagChanged=0

用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

将该 URL 放入 Postman 中,逐个尝试 url query params,最后能够发现,只需保留 itemId 和 page 两个请求参数即可。

用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

请求返回的是一个 JSON 格式的数据,下面就是分析该 JSON 数据了。

不难发现,所有的评论数据都存储在 commentList 中,我们只需保存该数据即可。

下面就是如何获取 itemId 的信息了,这个是产品的 ID,我们回到网易严选首页,继续分析。

产品 ID 获取

当我们在搜索框中输入关键字进行搜索的时候,同样能够发现在 Network 中有很多请求,此时可以观察各个请求,通过请求文件的名称(此处需要一些经验,守规矩的 程序员 都不会乱起名字),我们可以定位到搜索时展示搜索结果的请求。

用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

搜索一般都是 search,所以我们就锁定了这个 search.json 的请求。同样把请求 URL 拷贝到 Postman 中,逐个验证传参,最后保留 page 和 keyword 两个参数即可。

用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

该请求返回的数据较多,还是需要耐心的分析数据,也能够发现,在 result->data->directly->searcherResult->result 下面的 id 值,即为我们要获取的产品 ID。

以上,我们基本完成了前期的分析工作,下面开始代码的编写。

编写代码

获取产品 ID

def search_keyword(keyword):
    uri = 'https://you.163.com/xhr/search/search.json'
    query = {
        "keyword": keyword,
        "page": 1
    }
    try:
        res = requests.get(uri, params=query).json()
        result = res['data']['directly']['searcherResult']['result']
        product_id = []
        for r in result:
            product_id.append(r['id'])
        return product_id
    except:
        raise

我这里是获取了 page 为 1 的产品 ID,下面就是通过产品 ID 来获取不同产品下的评论信息。

通过前面的分析,我们可以知道,评论信息都是如下形式的,对这种形式的信息,我们可以很方便地存储进入 MongoDB,然后再慢慢分析数据里的内容。

{
                "skuInfo": [
                    "颜色:肤色",
                    "杯码:75B"
                ],
                "frontUserName": "1****8",
                "frontUserAvatar": "https://yanxuan.nosdn.127.net/f8f20a77db47b8c66c531c14c8b38ee7.jpg",
                "content": "质量好,穿着舒服",
                "createTime": 1555546727635,
                "picList": [
                    "https://yanxuan.nosdn.127.net/742f28186d805571e4b3f28faa412941.jpg"
                ],
                "commentReplyVO": null,
                "memberLevel": 4,
                "appendCommentVO": null,
                "star": 5,
                "itemId": 1680205
            }

对于 MongoDB,我们既可以自己搭建,也可以使用网上免费的服务。在这里我介绍一个免费的 MongoDB 服务网站:mlab,使用很简单,就不过多介绍使用过程了。

数据库有了,下面就是把数据保存进去了。

def details(product_id):
    url = 'https://you.163.com/xhr/comment/listByItemByTag.json'
    try:
        C_list = []
        for i in range(1, 100):
            query = {
                "itemId": product_id,
                "page": i,
            }
            res = requests.get(url, params=query).json()
            if not res['data']['commentList']:
                break
            print("爬取第 %s 页评论" % i)
            commentList = res['data']['commentList']
            C_list.append(commentList)
            time.sleep(1)
            # save to mongoDB
            try:
                mongo_collection.insert_many(commentList)
            except:
                continue
        return C_list
    except:
        raise

最后爬取完成之后,总共是七千多条数据,下面就可以根据个人需要做一些分析了。

用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

爬取的数据 MongoDB 链接

conn = MongoClient("mongodb://%s:%s@ds149974.mlab.com:49974/you163" % ('you163', 'you163')) db = conn.you163 mongo_collection = db.you163

商品评论数据分析

下面就到了激动人心的时刻了,一探妹子偏好!

偏好颜色

先来看看妹子们偏好的颜色

用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

可以看出,黑色是遥遥领先的哦,这里你要做到心中有数!

再通过饼状图来观察下不同颜色的占比情况

用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

那么这些颜色中,有你的她喜欢的吗?

尺寸分布

用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

没有问题,75B 就是大多数妹子的尺寸了

如果你对这种罩杯尺寸没有研究的话,不要紧,贴心的我给你准备了对照表,拿走不谢

用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

商品评论

最后我们再来看看妹子们对于商品的评价情况

用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

就星级评价上来看,大多数都是五星好评,毕竟打着“严选”的名号,质量是必须有保证的。

再来看看在评论区,妹子最喜欢用什么词语来描述呢

用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

舒服、很舒服,非常舒服;满意、很满意,非常满意。

仿佛进入了“夸夸群”,看来妹子们首要看重的就是舒服与否,毕竟是贴身的,质量最重要!

好了,看了上面的分析,单身的你是不是更加有了脱单的冲动?如果是已经有软妹傍身的你,是不是该下手讨好下身边的她了呢?

完整代码公众号后台回复“ 1015 ”获取哦

近期文章

Python核心技术与实战

Python全栈-60天精通之路

Python网络爬虫与文本数据分析

Python数据分析相关学习资源汇总帖

漂亮~pandas可以无缝衔接Bokeh

综述:文本分析在市场营销研究中的应用

Lazy Prices公司年报内容变动碰上股价偷懒

用python帮你生产指定内容的word文档

2020年B站跨年晚会弹幕内容分析

YelpDaset: 酒店管理类数据集10+G

NRC词语情绪词典和词语色彩词典

Loughran&McDonald金融文本情感分析库

用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好

整代码公众号 后台回复“ 1015 ”获取哦


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Head First JavaScript Programming

Head First JavaScript Programming

Eric T. Freeman、Elisabeth Robson / O'Reilly Media / 2014-4-10 / USD 49.99

This brain-friendly guide teaches you everything from JavaScript language fundamentals to advanced topics, including objects, functions, and the browser’s document object model. You won’t just be read......一起来看看 《Head First JavaScript Programming》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具