分布式爬取京东商品信息及评价
1、主要思路
获取京东所有商品列表:https://www.jd.com/allSort.aspx,大概有分类1190条
连接格式为:https://list.jd.com/list.html?cat=xxx
页面如下:
此页面可以从该页面直接获取商品价格、商品标题、商品URL、商品ID、商品品牌、商品店铺地址、商品型号,所以在获取此页面时直接解析这些数据。
需要的数据分析:本次爬取主要获取以下信息(已评价为基础存储商品信息,可以将评价和商品分开存):
商品评价获取:采用京东json接口:https://club.jd.com/comment/skuProductPageComments.action?callback=fetchJSON_comment98vv46561&productId=4207732&score=0&sortType=5&page=0&pageSize=10&isShadowSku=0&fold=1
可更改参数:productId=4207732(商品ID)、page=0(第几页评价)、pageSize=10(每页显示的条数)
基本评价信息:
热评信息:
主要评价:
2、代码实现
主代码:
Item
自定义pipelines异步存储数据到MySQL
配置settings启用相关功能
main.py配置,用于启动函数
数据库建表
启动splash
启动爬虫:python main.py,启动后会定格此处,需要在redis上push对应的key
Redis上push 启动页的key
爬虫开始正常爬取
Redis去重队列、请求队列、item队列如下
3、数据存储情况
我一共起了五个进程,爬了一个晚上。
4、亚马逊爬取结果展示
商品信息
评价信息