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

前言

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

一、目标网站:网络

aHR0cHM6Ly9zZWFyY2guamQuY29tL1NlYXJjaD9rZXl3b3JkPSVFOSVBMyU5RiVFNSU5MyU4MQ==

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

二、主要用到的技能以下:测试

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

PS:若有须要Python学习资料的小伙伴能够加下方的群去找免费管理员领取网站

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

 

能够免费领取源码、项目实战视频、PDF文件等编码

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

 

评论接口

1、接口查找url

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

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

 

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

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

 

要查找真正的评论接口,直接刷新页面,找起来至关麻烦。调试

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

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

 

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

2、参数查找

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

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

 

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

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

 

分析到这里能够获得以下结论

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

3、代码测试

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

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

 

执行结果以下:

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

 

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

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

 

若是要提取其余字段信息,可在代码中自行添加。

搜索接口

1、接口查找

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

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

 

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

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

 

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

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

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

 

2、参数查找

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

点击页面第二页参数以下

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

 

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

 

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

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

 

接着点击第三页

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

 

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

 

若是没法发现规律,可继续点击翻页查看变化规则。

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

  • 每一页有两次请求,page初始值为1
  • s的值每次请求增长25,初始值为1
  • 其余参数值不变,部分新增参数能够忽略

3、html页面解析

直接定位到页面商品位置,能够看到全部商品信息都在ul标签下的li标签里面

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

 

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

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

 

4、代码测试

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

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

 

执行结果以下:

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

 

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

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

做者:習慣有妳

相关文章
相关标签/搜索