美文网首页Python3自学 爬虫实战
爬虫:mitmproxy 获取 京东APP 数据

爬虫:mitmproxy 获取 京东APP 数据

作者: dex0423 | 来源:发表于2019-12-30 23:14 被阅读0次

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

    联系博主:下为博主微信,欢迎骚扰

    image.png

    相关文章

      网友评论

        本文标题:爬虫:mitmproxy 获取 京东APP 数据

        本文链接:https://www.haomeiwen.com/subject/igjvoctx.html