爬虫 — App 爬虫(一)
作者:mmseoamin日期:2024-01-18

目录

  • 一、介绍
  • 二、APP 爬虫常见反爬
  • 三、APP 抓包常用工具
  • 四、模拟器
  • 五、安装 APP
    • 1、下载 APP
    • 2、安装 APP
    • 六、fiddler
      • 1、工作原理
      • 2、安装
      • 3、基本介绍
      • 七、环境配置
        • 1、fiddler 的配置
        • 2、夜神模拟器的配置
        • 八、案例

          一、介绍

          爬虫分类——数据来源

          1、PC 端爬虫(网页端爬虫)

          • 找数据接口(requests,scrapy等)
          • selenium

            2、APP 端爬虫

            • 找数据接口

              获取数据接口——fiddler

              获取 APP 与服务器进行交互的数据包——模拟器

            • appium

              二、APP 爬虫常见反爬

              1、抓不到数据包请求

              2、抓取数据包里的参数涉及加密(APP 逆向)

              三、APP 抓包常用工具

              抓包软件名称支持的操作系统适用平台调试难易程度软件功能程度
              fiddlerWindows/Linux网页端、APP 端一般
              mitmproxyWindows/Mac/Linux网页端、APP 端一般
              packetCapture安卓APP 端简单

              四、模拟器

              1、安装夜神模拟器安装包;

              点击下载夜神模拟器安装包

              2、安装好后桌面会多出两个软件,点击模拟器助手;

              爬虫 — App 爬虫(一),在这里插入图片描述,第1张

              3、点击“多开管理”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第2张

              4、点击“添加模拟器”,新建一个模拟器;

              爬虫 — App 爬虫(一),在这里插入图片描述,第3张

              5、选择一个模拟器;

              爬虫 — App 爬虫(一),在这里插入图片描述,第4张

              6、点击设置;

              爬虫 — App 爬虫(一),在这里插入图片描述,第5张

              7、选择"手机版"后,点击“保存设置”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第6张

              8、启动模拟器;

              爬虫 — App 爬虫(一),在这里插入图片描述,第7张

              9、界面启动成功;

              爬虫 — App 爬虫(一),在这里插入图片描述,第8张

              五、安装 APP

              点击下载 APP 应用安装包

              1、下载 APP

              1、输入需要安装的 APP 名称,点击搜索;

              爬虫 — App 爬虫(一),在这里插入图片描述,第9张

              2、点击“查看”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第10张

              3、取消选择框;

              爬虫 — App 爬虫(一),在这里插入图片描述,第11张

              4、点击“普通下载”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第12张

              2、安装 APP

              1、直接把下载好的 apk 拖拽到模拟器(常用);

              2、通过命令进行安装。

              六、fiddler

              1、工作原理

              爬虫 — App 爬虫(一),在这里插入图片描述,第13张

              2、安装

              点击进入官网下载地址

              点击进入百度网盘地址

              1、点击“I Agree”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第14张

              2、选择安装路径,点击“Install”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第15张

              3、点击“Close”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第16张

              4、这个软件不会自动在桌面上创建快捷方式,可以自己手动创建,

              在安装路径文件夹里找到“Fiddler.exe”文件,右键点击,选择“发送到”,选择“桌面快捷方式”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第17张

              3、基本介绍

              1、界面展示

              爬虫 — App 爬虫(一),在这里插入图片描述,第18张

              2、快捷功能区

              爬虫 — App 爬虫(一),在这里插入图片描述,第19张

              1:给会话添加备注信息

              2:重新加载当前会话

              3:删除会话选项

              4:放行,和断点对应

              5:响应模式,当 fiddler 拿到远程的 response 后是缓存起来一次响应给客户端还是以 stream 的方式直接响应

              6:解码,有些请求是被编码的,点击这个按钮后可以根据响应的编码格式自动解码

              7:查找会话

              8:保存会话

              9:截屏,截屏后,会以会话的方式返回一个截图

              3、常用功能

              清空数据包

              爬虫 — App 爬虫(一),在这里插入图片描述,第20张

              停止抓包

              爬虫 — App 爬虫(一),在这里插入图片描述,第21张

              保存数据包

              爬虫 — App 爬虫(一),在这里插入图片描述,第22张

              打断点

              爬虫 — App 爬虫(一),在这里插入图片描述,第23张

              更多内容可点击参考

              七、环境配置

              1、fiddler 的配置

              HTTPS

              让 fiddler 能够捕获 https 的请求

              爬虫 — App 爬虫(一),在这里插入图片描述,第24张

              爬虫 — App 爬虫(一),在这里插入图片描述,第25张

              爬虫 — App 爬虫(一),在这里插入图片描述,第26张

              爬虫 — App 爬虫(一),在这里插入图片描述,第27张

              爬虫 — App 爬虫(一),在这里插入图片描述,第28张

              爬虫 — App 爬虫(一),在这里插入图片描述,第29张

              爬虫 — App 爬虫(一),在这里插入图片描述,第30张

              爬虫 — App 爬虫(一),在这里插入图片描述,第31张

              爬虫 — App 爬虫(一),在这里插入图片描述,第32张

              爬虫 — App 爬虫(一),在这里插入图片描述,第33张

              爬虫 — App 爬虫(一),在这里插入图片描述,第34张

              检查证书是否安装成功

              爬虫 — App 爬虫(一),在这里插入图片描述,第35张

              爬虫 — App 爬虫(一),在这里插入图片描述,第36张

              如果能看到这两个证书,就说明证书已经安装成功了

              Connections

              爬虫 — App 爬虫(一),在这里插入图片描述,第37张

              爬虫 — App 爬虫(一),在这里插入图片描述,第38张

              爬虫 — App 爬虫(一),在这里插入图片描述,第39张

              然后重新启动 fiddler

              2、夜神模拟器的配置

              1、打开夜神模拟器,在桌面上找到“工具”并点击,然后找到“设置”并点击;

              爬虫 — App 爬虫(一),在这里插入图片描述,第40张

              2、滑动到最底部,点击“关于平板电脑”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第41张

              3、滑动到最底部,不停的点击“版本号”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第42张

              4、直到出现“您现在处于开发者模式”为止;

              爬虫 — App 爬虫(一),在这里插入图片描述,第43张

              5、点击返回上一页,会出现“开发者选项”,点击进去;

              爬虫 — App 爬虫(一),在这里插入图片描述,第44张

              6、打开“USB调试”,点击“确定”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第45张

              7、返回桌面,打开浏览器,点击“设置”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第46张

              8、选择“隐私和安全”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第47张

              9、点击取消选中“显示安全警告”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第48张

              10、然后重启模拟器,点击“设置”,找到“WLAN”,点击进入;

              爬虫 — App 爬虫(一),在这里插入图片描述,第49张

              11、在“WiredSSID”上长按鼠标左键,点击“修改网络”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第50张

              12、可按 win+R 后,输入 cmd 进入电脑终端;

              爬虫 — App 爬虫(一),在这里插入图片描述,第51张

              13、回到桌面,点击浏览器,在地址栏里输入 ip 地址和端口号后,点击“FiddlerRoot certificate”(如没有出现此页面可重新启动模拟器);

              爬虫 — App 爬虫(一),在这里插入图片描述,第52张

              14、点击“下载”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第53张

              15、点击“下载已完成”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第54张

              16、填入“证书名称”后,点击“确定”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第55张

              17、此时,会跳出弹窗提示,需要设置密码,点击“确定”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第56张

              18、点击“密码”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第57张

              19、输入密码后,点击“继续”;

              爬虫 — App 爬虫(一),在这里插入图片描述,第58张

              20、点击“完成”。

              爬虫 — App 爬虫(一),在这里插入图片描述,第59张

              八、案例

              目标 APP:当当

              需求:爬取书名、作者、出版社、好评率、价格

              1、在“豌豆荚”网站下载好目标 APP 后,将 APP 拖拽进模拟器中

              2、打开 APP,在搜索框里输入内容,输入内容前,先在 fiddler 里清空数据包

              爬虫 — App 爬虫(一),在这里插入图片描述,第60张

              3、点击“Find”查找相关数据包后,点击“Find Sessions”

              爬虫 — App 爬虫(一),在这里插入图片描述,第61张

              4、依次点击高亮显示的数据包,找到有数据的

              爬虫 — App 爬虫(一),在这里插入图片描述,第62张

              5、数据为乱码,点击图中框框的位置

              爬虫 — App 爬虫(一),在这里插入图片描述,第63张

              6、点击后正常显示

              爬虫 — App 爬虫(一),在这里插入图片描述,第64张

              7、数据为 json 格式,点击“JSON”,更方便查看数据

              爬虫 — App 爬虫(一),在这里插入图片描述,第65张

              8、复制数据包的 url

              爬虫 — App 爬虫(一),在这里插入图片描述,第66张

              代码实现

              import requests  # 导入 requests 模块,用于发送网络请求
              # pip install rich
              from rich import print as rprint  # 导入 rich 模块的 print 函数,用于打印带样式的输出
              # 目标 url
              url = 'http://mapi7.dangdang.com/index.php?page_version=new2&access-token=&time_code=0a700316b85a0d578709bd673dd123dc&img_size=e&client_version=10.12.4&pageSize=10&union_id=537-100998×tamp=1687961723&province_id=111&permanent_id=20230628220338845805790296886915991&a=all-search&global_province_id=111&page_action=search&c=search&sort_type=default_0&keyword=%E7%88%AC%E8%99%AB&udid=4aa439184898c3fbab8ed2cd869b77e1&user_client=android&page=1'
              # 发送 get 请求,获取响应对象
              res = requests.get(url)
              # 使用 rich 模块的 print 函数打印响应对象中的 JSON 数据的 product 字段
              # rprint(res.json()['data']['product']) # 返回的数据类型 list
              # 获取响应对象中的 product 列表
              product_lst = res.json()['data']['product']
              # 遍历 product 列表
              for product in product_lst:
                  # 创建字典
                  item = {}
                  item['title'] = product.get('productName')  # 获取商品名称
                  item['author'] = product.get('author')  # 获取商品作者
                  item['publisher'] = product.get('publisher')  # 获取商品出版社
                  item['commentCount'] = product.get('commentCount')  # 获取商品评论数
                  item['price'] = product.get('price')  # 获取商品价格
                  print(item)  # 打印商品信息
                  print('-' * 100)  # 分隔线
              

              注意:

              1、pip install rich 安装报错

              检查是否开启 fiddler,开启的话可能会报错,关闭 fiddler,再重新安装即可

              2、url 里面

              page:控制翻页

              keyword:关键字搜索

              记录学习过程,欢迎讨论交流,尊重原创,转载请注明出处~