https://www.xin3721.com/eschool/pythonxin3721/

网易商品评论爬取

分析网页

评论分析

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

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

可以发现,评论文字是通过 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

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

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

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

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

产品 ID 获取

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

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

该请求返回的数据较多,还是需要耐心的分析数据,也能够发现,在 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

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

爬取的数据 MongoDB 链接

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

商品评论数据分析

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

偏好颜色

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

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

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

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

尺寸分布

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

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

商品评论

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

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

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

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

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

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

php爬虫严选,用 Python 爬取网易严选妹子内衣信息,探究妹纸们的偏好|python爬虫|python入门|python教程...相关推荐

  1. 19. python爬虫——基于scrapy框架爬取网易新闻内容

    python爬虫--基于scrapy框架爬取网易新闻内容 1.需求 [前期准备] 2.分析及代码实现 (1)获取五大板块详情页url (2)解析每个板块 (3)解析每个模块里的标题中详情页信息 1.需 ...

  2. scrapy获取a标签的连接_python爬虫——基于scrapy框架爬取网易新闻内容

    python爬虫--基于scrapy框架爬取网易新闻内容 1.需求[前期准备] 2.分析及代码实现(1)获取五大板块详情页url(2)解析每个板块(3)解析每个模块里的标题中详情页信息 点击此处,获取 ...

  3. python爬取股票信息_利用Python爬取网易上证所有股票数据(代码

    利用Python爬取网易上证所有股票数据(代码 发布时间:2018-04-14 17:30, 浏览次数:1261 , 标签: Python import urllib.request import r ...

  4. 【Scrapy框架实战】爬取网易严选-苹果12手机热评

    Scrapy爬取网易严选-苹果手机热评 1. 前言 2. Scrapy项目创建 3. 网页分析 4. 发送请求 5. 提取信息 6. 模拟翻页 7. 数据保存 8. 结果展示 9. 数据分析 1. 前 ...

  5. python爬取58同城的兼职信息

    标题python爬取58同城的兼职信息 刚刚开始学习爬虫,一些 自己研究的小东西,爬取58同城上面的兼职信息放入Excel表格里,具体代码解释在代码里给出注释,下面给出完整代码: #首先是导包 imp ...

  6. python爬取携程旅游评价信息词云图分析

    python爬取携程旅游评价信息词云图分析 前言 前面咱们已经分析过如何爬取携程旅游的相关信息,如果没有看过的,可以先跳转看一下前面的那篇博客:python 爬虫 一键爬取携程旅游团数据 这一篇呢,咱 ...

  7. 用python爬取豆瓣影评及影片信息(评论时间、用户ID、评论内容)

    爬虫入门:python爬取豆瓣影评及影片信息:影片评分.评论时间.用户ID.评论内容 思路分析 元素定位 完整代码 豆瓣网作为比较官方的电影评价网站,有很多对新上映影片的评价,不多说,直接进入正题. ...

  8. python爬取当当网的书籍信息并保存到csv文件

    python爬取当当网的书籍信息并保存到csv文件 依赖的库: requests #用来获取页面内容 BeautifulSoup #opython3不能安装BeautifulSoup,但可以安装Bea ...

  9. Python爬取武汉店铺出租转让信息

    Python爬取武汉店铺出租转让信息 摘要:由于有亲戚想到武汉发展,开个店面做点小生意,实地考察的效率不算太高,于是乎就在网上收集相关的转让信息,做第一步筛选,希望能够起到一些作用~ 技术组合:req ...

  10. python爬取2019年计算机就业_2019年最新Python爬取腾讯招聘网信息代码解析

    原标题:2019年最新Python爬取腾讯招聘网信息代码解析 前言 初学Python的小伙们在入门的时候感觉这门语言有很大的难度,但是他的用处是非常广泛的,在这里将通过实例代码讲解如何通过Python ...

最新文章

  1. 趣谈Linux操作系统学习笔记:用户态内存映射:如何找到正确的会议室?(第25讲)...
  2. ASP.NET程序员职位要求!
  3. HTML5与CSS3基础教程第八版学习笔记7~10章
  4. 第二次爬虫,更加熟练啦
  5. 一个草根交通研究员的拼车产品分析
  6. 从4篇顶会论文看Self-training最新研究进展
  7. 前后端分离报错The Token’s Signature resulted invalid when verified using the Algorithm: HmacSHA256
  8. php接收get参数false是字符串,php解析url (parse_url) 参数成数组 (parse_str)
  9. python---异常处理结构
  10. pytorch是否可以使用CUDA
  11. Sql Server中Float格式转换字符串varchar方法(转)
  12. 在rhel 7.3中安装glibc-devel-2.17-157.el7.i686包的过程详录
  13. js 直接打开选择文件窗口_打开CAD文件时,怎么快速选择“gbcbig.shx”字体?
  14. Github建立个人导航网站
  15. Warning [gazebo.cc:215] Waited 1seconds for namespaces.
  16. 克罗内克积的c++简单实现
  17. html中背景色优先级,CSS背景颜色优先级
  18. vue 阻止事件冒泡和捕获
  19. 经验正交分解EOF的Matlab的实现示例
  20. input文件框选择本地图片后页面预览图片并获取图片长宽以及大小 图片上传前预览

热门文章

  1. mysql 转大写_mysql将字符串转换为大写的方法
  2. 数字电路中表示频率误差的ppm是什么意思?
  3. nginx错误502,503,504分析
  4. X1000之LCD部分的翻译
  5. median函数的使用方法_如何在Google表格中使用MEDIAN函数
  6. Oracle PL/SQL开发基础(第十五弹:同义词)
  7. java 汇率换算_汇率转换示例代码
  8. HTML汇率转换代码,利用JS实现汇率转换工具
  9. linux pam 解锁_Linux多次登录失败用户被锁定使用Pam_Tally2解锁
  10. Bypass注入(WAF绕过)