APP爬虫:mitmproxy 获取 京东APP 数据

配置 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

你可能感兴趣的:(APP爬虫:mitmproxy 获取 京东APP 数据)