Airtest+Mitmprxoy自动爬取APP内容

您所在的位置:网站首页 airtest软件 Airtest+Mitmprxoy自动爬取APP内容

Airtest+Mitmprxoy自动爬取APP内容

2024-07-12 04:41:04| 来源: 网络整理| 查看: 265

这里以微博为例,微博网页版无法查看全部粉丝 在这里插入图片描述 但是微博APP可以,所以从手机端抓取,我用的是模拟器,用fiddler抓包,获取微博粉丝的接口:https://api.weibo.cn/2/cardlist 在这里插入图片描述 然后就可以用mitmproxy拦截请求了。 1、首先要安装mitmproxy,可以使用pip install mitmproxy直接安装,另外还会附带mitmdump和mitmweb这两个组件。在Windows上也可以到https://github.com/mitmproxy/mitmproxy/releases/获取安装包,双击安装包即可安装。 2、证书配置 对于mitmproxy来说,想要拦截HTTPS请求,就需要设置证书。首先运行mitmdump命令启动mitmdump,然后我们就可以在用户目录下的.mitmproxy文件中找到CA证书。 在这里插入图片描述 在Windows下只需双击mitmproxy-ca.p12,就会出现导入证书的引导页 在这里插入图片描述 直接点击“下一步”,出现密码提示设置,这里不需要设置密码,直接“下一步”即可。 在这里插入图片描述 这里选择“将所有的证书都放入下列存储”, 在这里插入图片描述 然后点击“浏览”,选择“受信任的根证书颁发机构”,点击确定。 在这里插入图片描述 然后出现“导入成功”的提示页面,此时电脑上证书已经安装好了。 在这里插入图片描述 3、模拟器安装证书 由于我是用模拟器来运行微博,同样需要安装证书。这里用的是MuMu模拟器 点击红色箭头处的“文件共享” 在这里插入图片描述 将用户目录下.mitmproxy文件夹下的mitmproxy-ca-cert.pem文件拖到共享文件夹中 在这里插入图片描述 然后打开模拟器“设置”——>“安全”——>“从SD卡安装” 在这里插入图片描述 搜索mitmproxy 在这里插入图片描述 双击查找到的.pem文件,就会出现“为证书命名”的界面,我这里命名为“mitmproxy”,点击确定即可。 在这里插入图片描述 4、mitmproxy的使用 和charles一样,mitmproxy在PC的8080端口运行,然后开启一个代理服务,这个服务实际上是一个HTTP/HTTPS的代理。 手机和PC在同一个局域网内,设置代理为mitmproxy的代理地址,这样手机在访问互联网的时候流量数据包就会流经mitmproxy,mitmproxy再去转发这些数据包到真实的服务器,服务器返回数据包时再由mitmproxy转发回手机,这样mitmproxy就相当于起到了中间人的作用,抓到所有Reqeust和Response,另外这个过程还可以对接到mitmdump,抓取到的Request和Response的具体内容都可以直接用python来处理,完成数据的解析和存储过程。 (1)设置代理 和fiddler相似,打开“设置”——>“WLAN”——>鼠标左键长按wifi 在这里插入图片描述 “修改网络”——“代理”——>“手动”,将代理改为本机电脑的ip,端口为8080,然后点击“保存” 在这里插入图片描述 在这里插入图片描述 此时在本地电脑上打开终端,输入mitmdump,会出现正在监听的窗口 在这里插入图片描述 接下来就可以写代码了,打开Pycharm,创建weibo.py

import jsondef response(flow):response = flow.responserequest = flow.request# 粉丝列表接口url = "https://api.weibo.cn/2/cardlist"if request.url.startswith(url):response_str = json.loads(response.text)print('*' * 100)print(response_str)try:cards = response_str["cards"][0]["card_group"]for card in cards:# 粉丝idid = card["user"]["id"]# 粉丝昵称name = card["user"]["name"]print(id, name)with open("weibo.txt", "a", encoding="utf-8") as file:file.write(id + "," + name + "\n")except Exception as e:print(e)

然后执行mitmdump -s weibo.py来运行.py文件,然后模拟器滑动微博粉丝列表,控制台打印输出内容 在这里插入图片描述 与此同时生成包含粉丝id和name的weibo.txt文件。 在这里插入图片描述 5、Airtest的使用 从上面来看,我们需要手动滑动粉丝列表才能不断的获取到数据,所以可以使用airtest来模拟人的动作。关于Airtest的使用中文文档上有详细的教程。http://airtest.netease.com/docs/docs_AirtestIDE-zh_CN/ 这里只作简单了解。 (1)首先从官网下载airtest(http://airtest.netease.com/download.html),解压后找到AirtestIDE.exe文件,双击执行。 在这里插入图片描述 打开Airtest IDE,连接模拟器, 在这里插入图片描述 点击右侧“连接”,可以看到上面设备连接出现了设备,点击“connect” 在这里插入图片描述 连接成功,右侧出现屏幕截图 在这里插入图片描述 在Poco辅助窗口选择“Android”,在脚本编辑窗弹出内容点击“Yes” 在这里插入图片描述 在这里插入图片描述 选取左侧Poco辅助窗的摄像头 在这里插入图片描述 然后右侧模拟器屏幕选定全局,然后鼠标向上滑动,放开鼠标脚本编辑窗自动生成代码 在这里插入图片描述 运行代码会看到右侧窗口粉丝列表一直向上拖动,mitmdump控制台输出响应,成功啦! 在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭