APP抓包

前面我们了解了一些关于 Python 爬虫的知识,不过都是基于 PC 端浏览器网页中的内容进行爬取。现在手机 App 用的越来越多,而且很多也没有网页端,比如抖音就没有网页版,那么上面的视频就没法批量抓取了吗?

答案当然是 No!对于 App 来说应用内的通信过程和网页是类似的,都是向后台发送请求,获取数据。在浏览器中我们打开调试工具就可以看到具体的请求内容,在 App 中我们无法直接看到。所以我们就要通过抓包工具来获取到 App 请求与响应的信息。关于抓包工具有 Wireshark,Fiddler,Charles等。今天我们讲一下如何用 Fiddler 进行手机 App 的抓包。

Fiddler 的工作原理相当于一个代理,配置好以后,我们从手机 App 发送的请求会由 Fiddler 发送出去,服务器返回的信息也会由 Fiddler 中转一次。所以通过 Fiddler 我们就可以看到 App 发给服务器的请求以及服务器的响应了。

Fiddler 安装配置

我们安装好 Fiddler 后,首先在菜单 Tool>Options>Https 下面的这两个地方选上。

然后在 Connections 标签页下面勾选上 Allow remote computers to connect,允许 Fiddler 接受其他设备的请求。

同时要记住这里的端口号,默认是 8088,到时候需要在手机端填。

配置完毕,保存后,一定关掉 Fiddler 重新打开。

手机端配置

确保手机和电脑在同一个局域网中,我们先看下计算机的 IP 地址,在 cmd 中输入 ipconfig就可以看到。我电脑用的是无线网,所以 IP 地址为 192.168.1.3。

打开手机无线连接,选择要连接的热点。长按选择修改网络,在代理中填上我们电脑的 IP 地址和 Fiddler 代理的端口。如下图所示:

保存后,在手机原生浏览器打开 http://192.168.1.3 :8008 ,就是上面我们的计算机 IP 和端口。这一步我在夸克浏览器中打开是不行的,一定要到手机自带的浏览器打开。Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎

打开后,点击下图链接,下载证书,然后安装证书。

电脑端浏览器也需要打开此地址,安装证书,方便以后对浏览器的抓包操作。

安装后就万事 OK 了,可以用手机打开 App ,在 Fiddler 上愉快的抓包了。

抓包

我们打开抖音 App,会发现 Fiddler 上出来很多连接。我们先清空没用的连接信息,然后滑动到某个人的主页上,来查看他发布过的所有视频,同时在 Fiddler 上找到视频链接。

经过观察筛选我们可以看出上图就是我们需要的请求地址,这个地址其实是可以在浏览器上打开的,但是我们需要改一下浏览器的User-Agent,我用的是Firefox的插件,打开后和 Fiddler 右边的信息是一致的。我们看下 Fiddler 右边该请求的响应信息。

看到返回了一个 JSON 格式的信息,其中aweme_list 就是我们需要的视频地址,has_more=1 表示往上滑动还会加载更多。之后就可以写代码了。

代码

代码很简单,和我们前几篇讲的一样,直接用 requests 请求相应链接即可。

代码仅做为一个简单的例子,仅仅下载当前页面的内容,如果要下载全部的视频,可以根据当次返回 JSON 结果中的 has_more 和 max_cursor 参数构造出新的 URL 地址不断的下载。

URL 中的 user_id 可以根据自己要爬取的用户更改,可以通过把用户分享到微信,然后在浏览器中打开链接,在打开的 URL 中可以看到用户的 user_id。

import requests
import urllib.request
def get_url(url):headers = {'user-agent': 'mobile'}req = requests.get(url, headers=headers, verify=False)data = req.json()for data in data['aweme_list']:name = data['desc'] or data['aweme_id']url = data['video']['play_addr']['url_list'][0]urllib.request.urlretrieve(url, filename=name + '.mp4')
if __name__ == "__main__":get_url('https://api.amemv.com/aweme/v1/aweme/post/?max_cursor=0&user_id=98934041906&count=20&retry_type=no_retry&mcc_mnc=46000&iid=58372527161&device_id=56750203474∾=wifi&channel=huawei&aid=1128&app_name=aweme&version_code=421&version_name=4.2.1&device_platform=android&ssmix=a&device_type=STF-AL10&device_brand=HONOR&language=zh&os_api=26&os_version=8.0.0&uuid=866089034995361&openudid=008c22ca20dd0de5&manifest_version_code=421&resolution=1080*1920&dpi=480&update_version_code=4212&_rticket=1548080824056&ts=1548080822&js_sdk_version=1.6.4&as=a1b51dc4069b2cc6252833&cp=dab7ca5f68594861e1[wIa&mas=014a70c81a9db218501e1433b04c38963ccccc1c4cac4c6cc6c64c')
Python资源分享qun 784758214 ,内有安装包,PDF,学习视频,这里是Python学习者的聚集地,零基础,进阶,都欢迎

运行后就可以得到视频列表:

Python爬虫新手教程:实战APP抓包,抖音的小姐姐等着我!相关推荐

  1. 记一次使用fiddler抓包抖音的挫折

    两个月前下载了fiddler准备抓取抖音玩玩,按照教程一步步来,结果到最后打开手机给我来个网络错误,没错,就这样: 到处百度为什么,结果在b站找到个教程,教程是借用fiddler本身提供的插件,将其运 ...

  2. Python网络爬虫实战:利用 Python ADB 人脸识别实现自动给抖音漂亮小姐姐视频点赞

    这只爬虫做了些什么事儿呢? 通过 ADB 控制你的手机,帮你自动刷抖音 调用百度人脸识别的接口,给视频画面中出现的小姐姐打分 自动给颜值 70 以上的小姐姐的视频点赞 有趣的是,根据抖音的推荐算法,连 ...

  3. Fiddler代理抓包抖音提示网络错误的解决

    最近在折腾抖音,想抓一些数据,上Fiddler,设置好代理跟安装证书以后,抖音一直提示网络错误.但是浏览器什么的都是可以上网跟抓到包的,证明肯定不是Fiddler的错,折腾了半天,确认是安卓app抓包 ...

  4. 全网最详细的Python+Requests接口测试教程:Fiddler抓包工具

    本篇涵盖内容:fiddler.http协议.json.requests+unittest+报告.bs4.数据相关(mysql/oracle/logging)等内容. 文章是针对零基础入门接口测试和py ...

  5. 【抓包工具】配置:Fiddler 设置 APP 抓包成功,微信小程序却无网络问题解决

    目录 一.问题情况:微信小程序无网络 二.问题解决:微信小程序无网络 三.问题情况:APP 无网络 四.问题解决:APP 无网络 一.问题情况:微信小程序无网络 fiddler 配置 https 成功 ...

  6. Fiddler抓包抖音网络错误解决方案

    最近呢,挺磕碜的,因某些原因接触了一下抖音抓包api,但是因一些签名算法等问题被劝退了,貌似从app逆向上可以攻克抖音的一些限制,不过技术较菜,被劝退了 = = 以下内容可能有些难以阅读,请仔细阅读, ...

  7. 抓包抖音充值页面实现微信支付宝充值抖币,可提供api

    抖币充值系统重写升级: 1.支持配置扫码配置多个CK 2.支持生成 微信/支付宝 支付二维码 扫码充值 3.支持 微信/支付宝 APP 直接唤醒充值 体验如下: 需要的小伙伴可私信 留言! 整个开发流 ...

  8. 抓包抖音充值接口,实现微信支付宝充值抖币收款通道

    前段时间搞了个抖音充值的通道,现在搞个YY充值的. 接下来这段时间的安排就是把各个这种平台的充值接口全分析一遍做成接口. 相比抖音的充值抖币接口,yy充值y币的风控就小很多,可以忽略不计,所以开发上也 ...

  9. Python爬虫学习,批量爬取下载抖音视频

    这篇文章主要为大家详细介绍了python批量爬取下载抖音视频,具有一定的参考价值,感兴趣的小伙 项目源码展示 ''' 注:如果你对python感兴趣,我这有个学习Python基地,里面有很多学习资料, ...

最新文章

  1. windows下安装程序制作
  2. python pillow 图片处理
  3. 使用BH60测量小功率步进电机角度实验数据
  4. 基于容器宽度的字体缩放
  5. Python按行读取文件、写文件
  6. 自学python爬虫要多久-Python爬虫要学多久,给初学编程者的建议
  7. PKM(个人知识管理)类软件收集(偶尔更新列表)
  8. 多线程的底层原理是怎么样的?
  9. linux系统外接硬盘_如何使用外部硬盘安装linux系统?
  10. 数据结构c语言描述第课后答案李学刚,数据结构(C语言描述)(第2版)
  11. 创建类模式(零):简单/静态工厂(Static Factory)
  12. 【03】AngularJS 简介
  13. 飞机大战——图文详解
  14. Qt调用Com组件--QT调用COM组件DLL(dumpCPP工具)
  15. 高斯勒让德数值积分公式
  16. 道路千万条,转行第一条。材料不劝退,亲人两行泪。
  17. Cesium+百度街景浏览
  18. 卸载重装Ubuntu22.04双系统
  19. 计算机网络IP地址分配
  20. [系统安全] 二十九.深信服分享之外部威胁防护和勒索病毒对抗

热门文章

  1. 计算机常见命令(win键+R键)
  2. 对于植物神经紊乱的治疗 中医采用辩证论治的方法
  3. PK3:再回潘石屹先生信:理越忽悠越不明
  4. python的实时音频传送_使用Python使用音频传输数据
  5. 外贸三个月不出单就没工资,手里都是长线客户,是离职还是熬
  6. 激光切割笔记本电脑外壳贴纸保护膜
  7. RowMapperT的分析解释
  8. 播放量超1000w,一条广告大片成为B站新顶流
  9. 闲话“人工智能”-AI的三个方面之“机器学习”和Chat GPT
  10. Linux(ubuntu) nmon系统资源监控工具