> 文章列表 > Python爬虫之Js逆向案例(1)-京东商品评论数据商品详情数据案例

Python爬虫之Js逆向案例(1)-京东商品评论数据商品详情数据案例

Python爬虫之Js逆向案例(1)-京东商品评论数据商品详情数据案例

<center>声明:京东商品评论数据&商品详情获取分析仅用于研究和学习,如有侵权,可删除</center>
一次运行程序,同时获取一下内容:

1. 获取整站实时商品详情数据;
2. 获取整站实时商品评论数据;
3. 获取整站实时商品列表数据;

下面会进行以下几步进行分析(下方演示过程全部使用​​chrome​​浏览器);

1.抓包找到对应接口
商店详情​​https://item-soa.jd.com/getWareBusiness?skuId=​​​商品评价​​​https://club.jd.com/comment/skuProductPageComments.action​​​商品相关问题​​​https://question.jd.com/question/getQuestionAnswerList.action​​​问题的回答​​​https://question.jd.com/question/getAnswerListById.action​​

2.编写全局控制参数到配置文件

3.爬虫编写
3.1.公共参数:

名称 类型 必须 描述
key String 调用key(必须以GET方式拼接在URL中)
secret String 调用密钥 (复制v:Taobaoapi2014 )
api_name String API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]
cache String [yes,no]默认yes,将调用缓存的数据,速度比较快
result_type String [json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读
lang String [cn,en,ru]翻译语言,默认cn简体中文
version String API版本

3.2商品详情数据代码

# coding:utf-8
"""
Compatible for python2.x and python3.x
requirement: pip install requests
"""
from __future__ import print_function
import requests
# 请求示例 url 默认请求参数已经做URL编码
url = "https://api-vxin.taobaoapi2014.cn/jd/item_get/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=10335871600"
headers = {"Accept-Encoding": "gzip","Connection": "close"
}
if __name__ == "__main__":r = requests.get(url, headers=headers)json_obj = r.json()print(json_obj)

 3.3商品评论数据代码

# coding:utf-8
"""
Compatible for python2.x and python3.x
requirement: pip install requests
"""
from __future__ import print_function
import requests
# 请求示例 url 默认请求参数已经做URL编码
url = "https://api-vxin.taobaoapi2014.cn/jd/item_review/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=71619129750&page=1"
headers = {"Accept-Encoding": "gzip","Connection": "close"
}
if __name__ == "__main__":r = requests.get(url, headers=headers)json_obj = r.json()print(json_obj)

3.4商品列表数据代码

# coding:utf-8
"""
Compatible for python2.x and python3.x
requirement: pip install requests
"""
from __future__ import print_function
import requests
# 请求示例 url 默认请求参数已经做URL编码
url = "https://api-vxin.taobaoaoi2014.cn/jd/item_search/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&q=女装&start_price=0&end_price=0&page=1&cat=0&discount_only=&sort=&seller_info=no&nick=&seller_info=&nick=&ppath=&imgid=&filter="
headers = {"Accept-Encoding": "gzip","Connection": "close"
}
if __name__ == "__main__":r = requests.get(url, headers=headers)json_obj = r.json()print(json_obj)

3.5 CSV

总结:程序一键运行,过程中错误中断自动保存日志到log文件,方便后续分析!但是现在没有添加多线程,大数据量采集数据的话,单线程运行可能需要很久,本案例只是自己纯学习练习使用!