最新文章
python 手机app数据爬取
2024-12-21 23:00

今天向大家介绍app爬取。

1.APP的爬取比Web爬取更加容易,反爬虫没有那么强,且大部分数据是以JSON形式传输的,解析简单。

2.在APP中想要查看请求与响应(类似浏览器的开发者工具监听到的各个网络请求和响应),就需要借助抓包软件。

3.在抓取之前,需要设置代理将手机处于抓包软件的监听下,就可以用同一网络进行监听,获得所有的网络和请求。

4.如果是有规则的,就只需要分析即可;如果没有规律,就可以用另一个工具mitmdump对接Python脚本直接处理Response。

5.抓取肯定不能由人手动完成,还需要做到自动化,还要对App进行自动化控制,可以用库Appium。


   Charles是一个网络抓包工具,比Fiddler功能更强大,可以进行分析移动App的数据包,获取所有的网络请求和网络内容

(1)安装链接

   官网:https://www.charlesproxy.com

(2)须知

   charles是收费软件,但可以免费试用30天。试用期过了,还可以试用,不过每次试用不能超过30分钟,启动有10秒的延迟,但大部分还可以使用。

(3)安装后

(1)证书配置说明

   现在很多网页都在向HTTPS(超文本传输协议的加密版,即HTTP加入SSL层),经过SSL加密更加安全,真实,大部分都由CA机构颁发安全签章(12306不是CA机构颁发,但不被信任)。现在应用HTTPS协议的App通信数据都会是加密的,常规的截包方法是无法识别请求内部的数据的。
   要抓取APP端的数据,要在PC和手机端都安装证书。

(2)windows系统安装证书配置

(3)Android手机安装证书配置

手机与电脑连接同一个WiFi。
设置如下
可以用操作系统命令ipconfig查看PC端ip

   Charles运行时会在PC端的8888开启一个代理服务,实际上是一个HTTP/HTTPS的代理。
   可以是用手机通过相同的无线网络连接(这里用的是校园网),设置手机代理为Charles的代理地址,这样手机访问互联网的数据就会经过Charles抓包工具,Charles转发这些数据到真实的服务器,再转发到手机中。这样抓包工具(Charles)就起到了中间人的作用,还有权对请求和响应进行修改。

   mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler和Charles的功能,但它是一个控制台的形式操作。

   mirmproxy还有两个关联组件。一个是mitmdump,是命令行接口,可以对接Python脚本,用Python处理数据;另一个是mitmweb,是一个web程序,可以清楚地查看mitmproxy捕获的请求。

(1)用pip安装

(2)在GitHub或官网上安装

GitHub:https://github.com/mitmproxy/mitmproxy
官网:https://mitmproxy.org
下载地址:https://github.com/mitmproxy/mitmproxy/releases

(1) 产生CA证书

   在mitmproxy中,会在PC端的8080端口运行,然后开启一个代理服务,就是一个HTTP/HTTPS代理,类似ip代理。
   手机和PC在同一局域网内,设置代理为mitmproxy的代理地址,抓包工具mitmproxy就相当于中间人的作用,数据就会流经抓包工具。这个过程还可以对接mitmdump,抓取到的请求和响应都可以直接用Python来处理,然后分析,存到本地,或存到数据库。

   在抓包前需要先设手机局域网置代理为抓包工具mitmproxy代理。

(1)启动代理服务

(2)设置当前代理

   上面的功能与方法在Fiddler和Charles中也有,那么mitmproxy的优势何在
   在mitmproxy中它的强大体现到mitmdump工具,可以对接Python对数据请求进行处理。
   它是mitmproxy的命令行接口,可以对接python程序对请求进行处理,不需要手动截取和分析HTTP请求和响应,进行数据存储和解析都可以通过Python来完成。

(1)简单获取数据(随便一个app)

(2)可以指定一个脚本来处理截获的数据

(3)日志输出

(4)输出请求数据

   可以输出一些请求信息,比如请求连接(url),请求头(headers),请求cookies(cookies),请求Host(host),请求方法(method),请求端口(port),请求协议(scheme)等。
   还可以把这些请求的信息进行修改后,再发送到服务器中,这样,服务器返回的可能不是app想请求的网页,这就是为什么一些app打开后却访问到了其他网址的原因。
   也可以通过该用法,通过修改cookies,添加代理等方式来尽可能避免反爬。
这里就先进行略过。

(5)获得响应

    以上就是本篇文章【python 手机app数据爬取】的全部内容了,欢迎阅览 ! 文章地址:http://ww.kub2b.com/quote/8670.html 
     栏目首页      相关文章      动态      同类文章      热门文章      网站地图      返回首页 企库往资讯移动站http://ww.kub2b.com/mobile/,查看更多   
发表评论
0评