配置 mitmproxy
参见本博另一篇文章:[爬虫]使用mitmproxy抓包手机APP的配置步骤
编辑 script.py 文件
- script.py 是用来处理 mitmproxy 获取到的 request 和 response 的 .py 脚本;
- 用户根据业务需求,在该文件中 筛选、处理 request 和 response ;
- 本文模拟的获取 京东APP 数据,需要筛选出 url 包含 jd 字符的 请求和响应;
import json
from urllib.parse import unquote
import re
def response(flow):
# 提取请求的 url 地址
request_url = flow.request.url
# 通过 jd 字符串,过滤出 京东APP 的请求和返回数据
if bool(re.search(r"jd", request_url)):
print("request_url >>> ", request_url)
response_body = flow.response.text
response_url = flow.request.url
print("response_url >>> ", response_url)
data = json.loads(response_body)
ware_infos = data.get("wareInfo")
goods_info = {}
if ware_infos is not None:
for ware_info in ware_infos:
goods_info["wareId"] = ware_info.get("wareId")
goods_info["wname"] = ware_info.get("wname")
goods_info["jdPrice"] = ware_info.get("jdPrice")
goods_info["goodrate"] = ware_info.get("good")
goods_info["reviews"] = ware_info.get("reviews")
goods_info["shopId"] = ware_info.get("shopId")
goods_info["ShopName"] = ware_info.get("goodShop").get("goodShopName")
print(goods_info)
运行 script.py 文件
- 进入 script.py 文件所在文件夹
cd /XXX # 进入 script.py 文件所在文件夹
mitmdump -s script.py
image.png
启动 京东APP
注意:如果手机尚未配置好,请参考本博另一篇文章:[爬虫]使用mitmproxy抓包手机APP的配置步骤
-
启动 APP
启动 京东APP 后,命令行窗口得到下图所示返回信息,数据获取成功。
image.png
联系博主:下为博主微信,欢迎骚扰
网友评论