美文网首页
入门级爬虫-爬取京东商品评价

入门级爬虫-爬取京东商品评价

作者: l1n3x | 来源:发表于2019-12-22 17:43 被阅读0次

实现功能

输入商品名称,并爬取第一页的商品的前100条评论

分析数据来源

爬取搜索页面

随便搜索一个商品,打开networks控制台,从图片里面可以看出访问的URL是直接返回了商品数据:


因此直接解析该url返回的页面就可以获得搜索得到的商品的信息。当然如果使用requests库访问需要带上cookie以及user-agent这两个头,否则只会返回一个重定向链接,而不是正确的页面。
其中每个商品的html结果大概如下:


其中比较重要的是商品的名称,价格以及对应的商品详情的URL。点击这个URL可以跳转到商品的详情页面。此外,URL还包含了商品的id。该id在获取其评论时会用到。例如图中URL为:
https://item.jd.com/1709853.html,则其id为1709853。

获取评论

京东的默认是不展示评论的,因此需要先点击评论。查看一下直接访问的URL是没有返回评论数据的,猜测是通过ajax请求拿到的数据。因此在 filter 搜索 comment,随后可以定位到:


基本可以确认这个URL是获取评论数据的。这个URL默认是:
https://sclub.jd.com/comment/productPageComments.action?callback=fetchJSON_comment98vv4107&productId=1709853&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1
网上搜一下,发现callback=fetchJSON_comment98vv4107可以去掉。其他参数如page(页数)pageSize(每一页条数)可以根据自己需要定。其他参数意义不是很明确,多尝试一下应该就知道其具体意思。这里比较重要的是productId=1709853,上面提到该id可以直接从商品详情URL中获得,因此只需要先解析搜索页面,再获所有商品的id。随后按商品获取其评论即可。
用伪代码来表示:
html = 爬取(搜索页面,关键字)
for 商品id in 解析搜索页面(html):
    爬取(商品评论, 商品id)

相关文章

网友评论

      本文标题:入门级爬虫-爬取京东商品评价

      本文链接:https://www.haomeiwen.com/subject/uwbonctx.html