Python爬虫实战讲解:某东商品评论信息采集流程分析

前言

电商平台的小爬虫,通过网站的搜索接口拿到商品ID,根据商品ID采集对应的评论。

1、目标网站:

aHR0cHM6Ly9zZWFyY2guamQuY29tL1NlYXJjaD9rZXl3b3JkPSVFOSVBMyU5RiVFNSU5MyU4MQ==

搜索的关键词可自行更改,文章这里以食品为例。

2、主要用到的技能如下:

  • xpath页面解析,提取字段信息
  • url编码,设置referer反爬
  • 对比多个请求,查看翻页参数的变化

PS:如有需要Python学习资料的小伙伴可以加下方的群去找免费管理员领取

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

可以免费领取源码项目实战视频PDF文件

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

评论接口

一、接口查找

随意点击某一商品,跳转详情页,点击商品评价

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

继续下翻,查看评论展示页数,这里只显示100页

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

要查找真正的评论接口,直接刷新页面,找起来相当麻烦。

打开调试,清空请求内容,直接点击查看第二页的接口信息,如下图

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

查看response信息,根据字段comments很容易判断这就是要找的评论接口,里面还包含了热门评论信息。

二、参数查找

先截图记录下点击第二页的请求参数,如下图

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

接着继续点击第三页内容,左侧搜索框中直接搜索productP,过滤无用的接口信息,查看请求参数,并和前一页的请求参数做比较。

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

分析到这里可以得到如下结论

  • productId代表当前商品的ID,更换商品ID,便可以采集不同商品的评论
  • page代表访问的页数,这里计算页数从0开始,参数请求的页数等于实际点击的页数减1

三、代码测试

代码如下,请求时需要在headers中加入ua和referer,这里翻页只设置2

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

执行结果如下:

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

代码里只提取了商品ID,评论内容,评论时间,如下图红框标注的数据

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

如果要提取其他字段信息,可在代码中自行添加。

搜索接口

一、接口查找

搜索以食品为例,输入食品,点击搜索

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

继续下翻,查看商品返回页数,这里也是最大返回100页信息

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

打开调试,清空请求内容,根据上面写的查找评论接口的方法,直接点击第二页,观察新增请求。

这里点击红框中s_new接口时,发现响应的信息是html,响应的内容,正好是页面展示的我们需要的商品信息。

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

二、参数查找

同样的,根据下滑,翻页查看参数的变化

点击页面第二页参数如下

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

页面上商品展示信息较多,有可能出现会临时加载一次请求的可能,继续下翻,恰好可以看到新增了一次请求,请求参数如下,看着参数增多了。(注意:新增的参数可以忽略)

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

接着点击第三页

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

如果无法发现规律,可继续点击翻页查看变化规则。

接口参数的构造逻辑有以下几点:

  • 每一页有两次请求,page初始值为1
  • s的值每次请求增加25,初始值为1
  • 其他参数值不变,部分新增参数可以忽略

三、html页面解析

直接定位到页面商品位置,可以看到所有商品信息都在ul标签下的li标签里面

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

点击li标签,可以看到div/div下的a标签里面,包含商品title信息,商品链接信息,链接当中又包含我们需要提取的product_id信息,右键copy、copy xpath直接提取位置信息。

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

四、代码测试

代码如下,注意headers中,referer参数需要进行url编码。

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

执行结果如下:

Python爬虫实战讲解:某东商品评论信息采集流程分析

 

这里只提取了title、product_id两个字段,需要可新增。

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。

作者:習慣有妳

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值