这篇文章主要讲解了“python怎么抓取抖音app”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python怎么抓取抖音app”吧!
抓取app的话,首先需要一个手机或者在自己的电脑上安装模拟器,模拟器你需要知道各个模拟器的默认端口
第二步,抓包
抓包的工具很多,找到自己觉得方便的就行,我这里推荐大家的是mitmproxy
mitmproxy是一个支持HTTP和HTTPS的抓包程序,有类似Fiddler、Charles的功能,只不过它是一个控制台的形式操作。
mitmproxy还有两个关联组件。一个是mitmdump,它是mitmproxy的命令行接口,利用它我们可以对接Python脚本,用Python实现监听后的处理。另一个是mitmweb,它是一个Web程序,通过它我们可以清楚观察mitmproxy捕获的请求。
手机和PC在同一个局域网内,设置代理为mitmproxy的代理地址,这样手机在访问互联网的时候流量数据包就会流经mitmproxy,mitmproxy再去转发这些数据包到真实的服务器,服务器返回数据包时再由mitmproxy转发回手机,这样mitmproxy就相当于起了中间人的作用,抓取到所有Request和Response,另外这个过程还可以对接mitmdump,抓取到的Request和Response的具体内容都可以直接用Python来处理,比如得到Response之后我们可以直接进行解析,然后存入数据库,这样就完成了数据的解析和存储过程。
pip3 install mitmproxy
对于mitmproxy来说,如果想要截获HTTPS请求,就需要设置证书。mitmproxy在安装后会提供一套CA证书,只要客户端信任了mitmproxy提供的证书,就可以通过mitmproxy获取HTTPS请求的具体内容,否则mitmproxy是无法解析HTTPS请求的。
首先,运行以下命令产生CA证书,并启动mitmdump:进入到目录cmd中直接运行,
mitmdump
然后在用户目录下找到CA证书
证书一共5个,表1-1简要说明了这5个证书。
表1-1 5个证书及其说明
mitmproxy-ca.pem
PEM格式的证书私钥
mitmproxy-ca-cert.pem
PEM格式证书,适用于大多数非Windows平台
mitmproxy-ca-cert.p12
PKCS12格式的证书,适用于Windows平台
mitmproxy-ca-cert.cer
与mitmproxy-ca-cert.pem相同,只是改变了后缀,适用于部分Android平台
mitmproxy-dhparam.pem
PEM格式的秘钥文件,用于增强SSL安全性
Windows
双击mitmproxy-ca.p12,就会出现导入证书的引导页,如图1-61所示。
直接点击“下一步”按钮即可,会出现密码设置提示,
这里不需要设置密码,直接点击“下一步”按钮即可。
接下来需要选择证书的存储区域,这里点击第二个选项“将所有的证书都放入下列存储”,
然后点击“浏览”按钮,选择证书存储位置为“受信任的根证书颁发机构”,
接着点击“确定”按钮,然后点击“下一步”按钮。
最后,如果有安全警告弹出,直接点击“是”按钮即可。
这样就在Windows下配置完CA证书了。
图我都没有贴,感觉没必要,基本都是下一步,傻瓜式
将刚才,我图中圈出来的发到手机上安装,mitmproxy-ca-cert.cer。如果这个在手机上安装失败,则去将mitmproxy-ca-cert.pem发到手机上安装。
可能会有安全警告,直接忽略就行,完成。
配置代理IP。连接同一局域网,在WiFi的设置中添加代理IP和端口,代理IP是电脑的IP,端口是抓包监控的端口。
cmd运行着段代码 mitmdump -s decode_douyin_fans.py -p 8889 说明:mitmdump -s py文件 -p 模拟器代理端口
也可以直接运行mitmdump, 默认端口是8080;
可以参考这个:
import json
# 这个地方必须这么写 函数名:response
def response(flow):
# 通过抓包软包软件获取请求的接口
if 'aweme/v1/user/follower/list' in flow.request.url:
# 数据的解析
for user in json.loads(flow.response.text)['followers']:
douyin_info = {}
douyin_info['share_id'] = user['uid']
douyin_info['douyin_id'] = user['short_id']
douyin_info['nickname'] = user['nickname']
print('粉丝列表:', douyin_info, '---------------------------')
感谢各位的阅读,以上就是“python怎么抓取抖音app”的内容了,经过本文的学习后,相信大家对python怎么抓取抖音app这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。