热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Python爬取小姐姐内衣信息,寻找妹纸们的偏好

今天继续来分析爬虫数据分析文章,一起来看看网易严选商品评论的获取和分析。警告:本教程仅用作学习交流,请勿用作商业盈利,违者后果自负!如本文有侵犯任何组织集团

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

警告:本教程仅用作学习交流,请勿用作商业盈利,违者后果自负!如本文有侵犯任何组织集团公司的隐私或利益,请告知联系阿喵删除!!! 声明:这是一篇超级严肃的技术文,超!级!严!肃!请本着学习交流的态度阅读,谢谢!

如果大家在学习中遇到困难,想找一个python学习交流环境,可以加入我的pythonQQ裙 ,裙号609616831,可领取python学习资料,会节约很多时间,减少很多遇到的难题。

 

网易商品评论爬取

分析网页


评论分析

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

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片?

 

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

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片?

 

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

you.163.com/xhr/comment…

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片?

 

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

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片?

 

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

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

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

产品 ID 获取

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

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片?

 

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

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片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

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片

我这里是获取了 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
}

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片

对于 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爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片

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

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片?

爬取的数据 MongoDB 链接

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


商品评论数据分析

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

偏好颜色

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

 

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片?

 

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

 

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

 

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片?

 

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

尺寸分布

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片?

 

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

 

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

 

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片?

 

 

商品评论

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

 

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片?

 

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

 

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

 

Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片Python爬取小姐姐内衣信息,寻找妹纸们的偏好 - 文章图片?

 

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

 

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

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

有需要源码的朋友可以私信我或者点击下方

源码领取:QQ裙609616831



推荐阅读
  • 本文介绍了使用postman进行接口测试的方法,以测试用户管理模块为例。首先需要下载并安装postman,然后创建基本的请求并填写用户名密码进行登录测试。接下来可以进行用户查询和新增的测试。在新增时,可以进行异常测试,包括用户名超长和输入特殊字符的情况。通过测试发现后台没有对参数长度和特殊字符进行检查和过滤。 ... [详细]
  • 本文讨论了Kotlin中扩展函数的一些惯用用法以及其合理性。作者认为在某些情况下,定义扩展函数没有意义,但官方的编码约定支持这种方式。文章还介绍了在类之外定义扩展函数的具体用法,并讨论了避免使用扩展函数的边缘情况。作者提出了对于扩展函数的合理性的质疑,并给出了自己的反驳。最后,文章强调了在编写Kotlin代码时可以自由地使用扩展函数的重要性。 ... [详细]
  • 解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法
    本文介绍了解决nginx启动报错epoll_wait() reported that client prematurely closed connection的方法,包括检查location配置是否正确、pass_proxy是否需要加“/”等。同时,还介绍了修改nginx的error.log日志级别为debug,以便查看详细日志信息。 ... [详细]
  • SAP接口编程PyRFC 调用 BAPI_FIXEDASSET_CREATE1创建固定资产
    本篇演示通过PyRFC调用BAPI_FIXEDASSET_CREATE1在SAP系统中创建固定资产,再一次体验一下Python与其它语言相比的简洁性。首先简单说明B ... [详细]
  • 使用nodejs爬取b站番剧数据,计算最佳追番推荐
    本文介绍了如何使用nodejs爬取b站番剧数据,并通过计算得出最佳追番推荐。通过调用相关接口获取番剧数据和评分数据,以及使用相应的算法进行计算。该方法可以帮助用户找到适合自己的番剧进行观看。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • Android JSON基础,音视频开发进阶指南目录
    Array里面的对象数据是有序的,json字符串最外层是方括号的,方括号:[]解析jsonArray代码try{json字符串最外层是 ... [详细]
  • Elasticsearch1Elasticsearch入门1.1Elasticsearch术语1.1.16.0以前的Elasticsearch术语1.1.26.0以后的Elasti ... [详细]
  • express工程中的json调用方法
    本文介绍了在express工程中如何调用json数据,包括建立app.js文件、创建数据接口以及获取全部数据和typeid为1的数据的方法。 ... [详细]
  • 在本教程中,我们将看到如何使用FLASK制作第一个用于机器学习模型的RESTAPI。我们将从创建机器学习模型开始。然后,我们将看到使用Flask创建AP ... [详细]
  • Allegro总结:1.防焊层(SolderMask):又称绿油层,PCB非布线层,用于制成丝网印板,将不需要焊接的地方涂上防焊剂.在防焊层上预留的焊盘大小要比实际的焊盘大一些,其差值一般 ... [详细]
  • Spring Boot 中 Java8 LocalDateTime 序列化问题
    LoginController页面如下:publicObjectlogin(@RequestBodyUseruser){returnxxxx ... [详细]
  • 软件测试工程师,需要达到什么水平才能顺利拿到 20k+ 无压力?
    前言最近看到很多应届生晒offer,稍有名气点的公司给出的价格都是一年30多W或者月薪20几k,相比之下工作几年的自己薪资确实很寒酸.根据我自己找工作经历,二线城市一般小公司招聘 ... [详细]
  • 软件测试对于减少程序BUG有多大帮助?有经验的程序员通常认为测试与代码同等重要,测试可以减少代码变更或扩展的不确定性。测试应该方便阅读简单且能快速运行 ... [详细]
  • 使用Postman调试API遇到“400 Bad Request”问题
    问题今日使用Postman调试一个临时接手的API,参照调用程序代码填充好请求头、请求体参数(post),Postman客 ... [详细]
author-avatar
特贰的大妞
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有