环境配置:
windows上安装Android sdk(为了使用adb命令调试,使用uiautomatorviewer进行自动化元素位置获取),
安装Python3环境,安装mitmproxy:pip install mitmproxy
windows上安装夜神模拟器(使用Android 7的,Android 4 和Android 5的有些app不支持,有必要的时候还需要安装xposed框架解决sslpining的问题),配置开启root,开启网络桥接模式,开启开发模式,开启usb调试
然后模拟器安装证书:https://www.cnblogs.com/sheajin/p/11075713.html
安装好后模拟器设置代理,windows命令行下输入:mitmweb -p 8889,如果8889没有被占用缺出现了如下问题:
。。。
OSError: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。
说明8081(默认的)的webui的端口被占用,用命令改下webui端口 mitmweb --web-port 8888 -p 8889
这样就可以抓到包了
分析包后,然后指定Python脚本,mitmdump -s target.py -p 8889,就可以抓到包入库了
appium自动化:
1.在文章列表爬取的时候,注意使用递归,因为每次点击(click)进入一个文章后,再次back回来的时候,元素会可能有些偏差
2.每次获取元素标签的时候,都要设置wait.until