Python新手如何抓取App数据?有没有相关教程?

主要是这样的,最近想试试用 python 抓取 app 的数据,于是乎上百度搜索资料;
看到大致是这样的,首先下载 fiddler 工具,然后将手机和 pc 在同一局域网下,似乎是将手机 ip 代理到 pc 的 ip 上,然后进行证书下载;
可是我手机手动设置代理后,用浏览器却浏览不了任何网站了,这是怎么回事?
顺便我附上我所看到的教程链接 https://my.oschina.net/jhao104/blog/605963,我就是照这上面的做,进行到第三步后,往第四步进行就不行了,浏览器根本打开不了任何网站…那位老大能够指导指导
Python新手如何抓取App数据?有没有相关教程?


11 回复

直接抓App数据通常需要分析其网络请求。新手可以从这些步骤开始:

  1. 抓包工具:用Charles或Fiddler抓HTTP/HTTPS流量,mitmproxy对开发者更友好。Wireshark能抓底层包但更复杂。

  2. 逆向工程:如果App用了加密,得反编译APK(用Jadx)或砸壳iOS(用frida)看加密逻辑。

  3. 模拟请求:分析完接口后,用Python的requests库模拟,注意处理headers、cookies和可能的签名。

import requests

# 示例:模拟一个带签名的请求
import hashlib
import time

def get_sign(params, secret):
    # 假设签名是参数排序后MD5
    param_str = '&'.join([f'{k}={v}' for k, v in sorted(params.items())])
    return hashlib.md5((param_str + secret).encode()).hexdigest()

url = 'https://api.example.com/data'
params = {
    'page': 1,
    'timestamp': int(time.time())
}
secret = 'your_secret_key'
params['sign'] = get_sign(params, secret)

headers = {
    'User-Agent': 'Mozilla/5.0 (compatible; YourBot/1.0)'
}

resp = requests.get(url, params=params, headers=headers)
print(resp.json())

教程资源

  • 崔庆才的博客和《Python3网络爬虫开发实战》讲基础爬虫和App抓包。
  • GitHub上搜"app-spider"或"android-crawl"找实际项目。
  • 看雪论坛和安卓安全小站有逆向分析内容。

总结:从抓明文接口开始,再碰加密的。

看看自己 fiddler 那边有没有抓到包,用手机 telnet 一下电脑段 fiddler 开放的端口看通不通
检查电脑防火墙,代理端口号设置,fiddler 代理是否启动,是否在一个 wifi 内网之内

手机需要安装 fiddlerRoot.cer 证书,安装好后应该可以联网

代理 IP 设置错了吧

fiddler 要装个插件 再装证书

谢谢大神指教,我后来自己 fiddler 重启,网络重新配置一次,得到解决了;估计当时软件或者网络出了些问题,现在已没有出现过了,谢谢您的指教


谢谢大神指教,我后来自己 fiddler 重启,网络重新配置一次,得到解决了;估计当时软件或者网络出了些问题,现在已没有出现过了,谢谢您的指教

恩恩,是的,谢谢您的指教,后来我是重启 fidder,网络重新配置,得到了解决

没有,后来已经得到解决,我重启 fidder,网络重新配置了,之后已没有出现过;谢谢您的指教

恩恩,谢谢您的指教,我后来自己 fiddler 重启,网络重新配置一次,得到解决了;估计当时软件或者网络出了些问题,现在已没有出现过了,谢谢您的指教

回到顶部