5分钟学会如何用Python爬取移动端数据~
off999 2024-10-14 12:15 36 浏览 0 评论
今天行家的5分钟系列,带来的是Python教程,没有看错,要分享的是如何快速爬取移动端的数据,坐稳了,出发~~
一、解释一下App抓包原理
1.客户端向服务器启动https请求
2.Charles拦截客户端的请求,伪装成客户端向服务器进行请求
3.服务器将服务器的CA证书返回给客户端(实际上是捕获工具)
4.包捕获工具拦截服务器的响应,获取服务器证书的公钥,然后生成自己的证书。
替换服务器证书并将其发送到客户端。(在此步骤中,包抓取器获取服务器证书的公钥)
5.在客户端收到服务器的证书(实际上是抓取工具)之后,将生成对称密钥。
使用包抓取工具的公钥加密,并将其发送到“server”(包抓取工具)
6.Charles拦截客户端的响应,用自己的私钥解密对称密钥,然后用服务器证书公钥加密,发送给服务器。发送到服务器。(在此步骤中,数据包捕获工具获取对称密钥)。
7.服务器用自己的私钥解密对称密钥,向“客户端”(Charles)发送响应
8.Charles拦截服务器的响应,替换成自己的证书后发送给客户端
爬虫的本质是“欺骗”服务器,各种反爬虫手段都是增强信任的过程,不断地让服务器相信你是自己的人。
就是说如果你被抓回来,你就是个不会撒谎的人,你会被发现的。
二、App数据好抓吗?
应用程序数据既简单又困难,行家重点今天分享简单的部分。
简单:应用程序的数据比Web端数据更容易抓取,基本上是http,https协议,返回的数据格式相对规则。大多是json格式
困难:1.需要反编译知识,需要分析加密算法;2.需要脱壳+反编译;3.需要破解各种类型的签名、证书。
所以一个爬虫类工程师慢慢需要掌握以下技能:java编程基础、Android编程基础、
app逆向、app脱壳、破解加密
三、需要用到的抓包工具
fiddler
mitmproxy
Charles
四、Fiddler安装和使用
首先先下载Fiddler(下载路径关注我,私信FIddler,发给你们哦)
安装:一路Next
主要界面介绍:
会话列表界面:
单击会话列表接请求后,监视面板中将出现以下两个接口:
请求面板:
响应面板:
本地CA证书安装
切换到 HTTPS 选项卡,勾选 Capture HTTPS CONNECTs,勾选 Decrypt HTTPS trafic,会弹出安装证书的提示。一直到点是确认安装就足够了。
重启fiddler,点击右侧Actions,能看一个下拉菜单,点击 Export Root Certificate to Desktop,此时证书会生成到桌面上,名为 FiddlerRoot.cer,点OK保存。
点击安装。
连接手机以捕获数据包所需的配置:
先设置PC端fiddler:
之后,手机需要访问本地主机ip+设置的端口,安装证书,并在证书安装成功后抓取。
上面是关于小提琴的安装和简单使用。在高级应用中有许多SAO操作。
五、Mitmxy安装和使用:
Mitmproxy与Linux和Windows版本略有不同。
linux下借助pip,可以一键安装:pip install mitmproxy
windows 下需要安装Microsoft Visual C++ V14.0以上,之后再使用pip install mitmproxy安装
Mitmproxy有三个主要组成部分:
mitmproxy - linux下的抓包组件
mitmdump - python交互
在mitmweb窗口下可视化接口工具
Windows下只支持后两个组件。
证书配置
您可以在安装目录中看到以下文件:
其中:
window安装证书:mitmproxy-ca.P12,一直到最后在此期间,将弹出警告并单击“确认”。
Mac安装证书: 将mitmproxy-ca-cert.PEM可以弹出密钥链管理页面,然后查找MitmProxy证书,打开其设置选项,并选择Always Trust(始终信任)。
Android/iPhone安装证书:方法一: 将mitmproxy-ca-cert.pem发送到手机上点击安装就可以了,苹果手机点击安装描述文件即可。
方法二: 在linux下启动 mitmproxy,命令为mitmproxy -p 8889,同时将手机代理设置为linux的IP地址与端口后访问mitm.it安装证书。
六、设置简单开始抓取:
mitmproxy过滤功能的使用举例:
输入z,清除屏幕上全部的包
mitmproxy断点功能的使用举例:
输入i,进入编辑模式,可在最下面编辑条件,ESC或Enter退出编辑
mitmproxy经常配合appium使用:
首先我们需要写一个抓包的脚本,类似下面这个:
import json
注意:这里的方法名必须使用response
编写完抓包的脚本后,使用 mitmdump -p [port] -s [脚本文件] 启动,配合appium自动化脚本即可实现app自动化抓取。
想学习 上行家
相关推荐
- 正当防卫3手游下载(正当防卫三正版下载)
-
通过QQ浏览器,或者应用商店下载即可。华为手机上下载《正当防卫4》(JustCause4)的方法如下:方法一:使用华为应用市场(华为AppGallery)1.打开华为应用市场。2.在搜索框中输...
- 可以免费下载所有歌曲的网站
-
一、http://51Ape.Com一个免费提供无损音乐下载的网站,专注于Ape音乐、Flac音乐以及Wav等各类高品质无损音乐的免费下载,是目前国内比较好的免费音乐下载网站。二、91听歌网提供无损音...
- 龙珠斗士z手游版下载(龙珠斗士z手游版下载ios)
-
召唤神龙,实现愿望。龙珠z斗士中只要集齐七颗龙珠就可以召唤出神龙,来实现自己的愿望。在漫画动画各类手游中都是这样首先进入游戏主界面,点击“斗士”按钮进入选角界面,在选角界面中选择你要使用的角色并确认...
- 可以手动插人物的游戏手游(可以手动插人物的游戏手游app)
-
在手游对局中,左上角有一个开关,可切换手动开火和自动开火,切换到自动开火后,准星描到敌方人物即会自动开火。当然,并不是所有模式中都有自动开火开关,是特定的一些模式有该开关,比如挑战模式、刀战模式等。另...
- 手机铃声最好听的歌(手机铃声最好听的歌曲有哪些)
-
Everythingisnotwhatitseems超喜欢这首的,绝对不会撞见跟你铃声一样的Push艾薇儿的新歌,很好听,也很适合做铃声Foreverandalways钢琴版副歌部分很好听布兰妮的3也...
- 千千静听官网(十大免费音乐网站)
-
千千静听起源于2002年,千千静听是一款完全免费的音乐播放软件,集播放、音效、转换、歌词等众多功能于一身。其小巧精致、操作简捷、功能强大的特点,深得用户喜爱,被网友评为中国十大优秀软件之一,并且成为目...
- 成品ppt网站国外(免费生成ppt的网站)
-
免费ppt成品怎么下载?不确定您要下载哪类的ppt。如果想要下载初中语文课件的话,免费成品ppt可以通过无忧无虑中学语文网下载,上面按照年级,教材版本分门别类的课件资源,教案参考,还有相应的练习题,甚...
- 免费的连连看游戏大全(连连看游戏app推荐)
-
在4399小游戏里,点击儿童小游戏,里面就有不及时的连连看。《连连看》只要将相同的两张牌用三根以内的直线连在一起消除即可。连连看,又称对对卡,是指图案配对的一种益智游戏,有多种形式,如卡片游戏、电子...
- 图片文字提取免费工具(图片文字提取免费工具在线)
-
1.打开手机,进入图库,点击打开一张图片。2.点击【分享】图标进入页面。3.点击【提取文字】。注意,只有手机已安装WPS才会出现此图标。第一种方法需要用到我们的聊天神器:QQ,进入任一聊天框并给...
-
- 一键群发500微信群软件(有没有微信一键群发5000人的软件)
-
1/8进入设置打开微信进入个人页面后,点击【设置】。2/8进入通用点击【通用】。3/8进入辅助功能点击【辅助功能】。4/8进入群发助手点击【群发助手】。5/8开始群发点击【开始群发】。6/8新建群发点击下方【新建群发】。7/8选择好友在这里...
-
2026-01-23 06:43 off999
- 万能驱动离线安装包(万能驱动离线版win10)
-
一、驱动人生()1、驱动人生为了针对用户的离线使用需求,专门推出了离线版的软件,能够在没有网络的情况下使用。2、通过内置的网卡驱动程序,帮助用户优先安装网卡驱动,进而可以连接网络并继续在网上下载安装驱...
- 中国象棋天天象棋(中国象棋天天象棋手机版)
-
天天象棋中的专区对局就是ai区,也就是软件区,专门给引擎下棋的,以前3.0版本里有,我玩过,没啥特别的,一开始匹配的都是新手,因为那个模式有独立的段位机制,后面更新之后就给禁掉了,跟ai对局没意思,还...
- 苹果恢复大师(苹果恢复大师收费吗)
-
苹果恢复大师是可靠的苹果手机数据恢复软件,兼容Windows和Mac平台,支持iOS设备上的多种数据恢复和备份,如微信聊天记录,短信,通讯录,照片等,具体操作也是十分简单。苹果恢复大师一共有三种恢复模...
- gg修改器下载安装(gg修改器下载安装免root)
-
OPPO手机下载gg修改器方法如下:可以打开在桌面找的浏览器,我们打开进入,然后再浏览器上面搜索框,搜索GG修改器,找到之后,我们点击GG修改器官网,然后就可以在GG修改器里面的官网下载了,之后我们点...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
win7系统还原步骤图解(win7还原电脑系统的步骤)
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
linux软件(linux软件图标)
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
