网页直播视频抓取工具下载(APP爬虫环境的搭建和mitmproxy工具的简单实用,开撸了)
优采云 发布时间: 2022-02-01 04:14网页直播视频抓取工具下载(APP爬虫环境的搭建和mitmproxy工具的简单实用,开撸了)
前面我们介绍了APP爬虫环境的搭建和mitmproxy工具的简单使用。这次我们打算用一个简单的APP爬虫来试试APP爬虫的简单性和实用性。顺便看看喜马拉雅的主播赚了多少钱。
APP爬虫一般分为两种方式,一种是直接分析破解应用的API,模拟API访问获取数据,另一种是设置代理,通过mitmproxy使用自动化操作抓取数据。
分析API接口
这种方法爬取速度最快,但分为初级和高级。主要是针对一些加密不严格的应用,一些接口可以通过抓包软件的包来分析。高级的需要APP解包破解。阅读源码分析出界面。
自动化操作
这种方法速度比较慢,但是比较简单,只要得到自动化的操作工具,数据的抓取和处理就很方便了。我目前知道三种自动化工具:appium、Airtest、autoJS。对于这三种方法,我们后面会有文章来介绍。
今天,我们就用初级的方法来抓取喜马拉雅APP的主播列表,看看这些主播有多丰富。你能想象他们的幸福吗?以下为开。
配置手机抓包环境
我们之前介绍过三种抓包工具:Fiddler、Charles、mitmproxy,直接安装简单配置即可抓包,这里不再详细介绍。网上有很多关于这种配置的帖子。我会在下面发布其中两个供大家检查。如果你有使用工具的需求,请在哔哩哔哩上搜索相关视频,看了一个小时基本就可以使用了。Charles手机抓包配置Fiddler手机抓包配置
操作抓包打开模拟器和抓包软件
打开喜马拉雅APP,具体操作如下
找到锚列表
找到锚列表后,默认是每小时列表。让我们先搜索一下,看看我们是否抓到了我们需要的数据。小时榜第一名是夏春瑶。切换到Charles,Ctrl+F打开搜索框
打开底部搜索到的内容,双击定位到对应的请求,查看响应数据
查看数据
通过检查,我们可以确认这个请求是小时列表的请求地址。根据以上方法,我们依次查看日单和周单。
同样的方法获取对应的接口url。下面是对应的界面: 小时榜: 日榜: 周榜: PS:我在广电网下抓到的接口和电信网下的不一样,主要是接口里的IP地址不一样。,不知道是不是IP变了,还是和网络有关系,所以如果有同学不能用我的代码正常抓包,请自行抢包
界面分析
接口已经拿到了,第一步试试看接口是否能正常抓包
import requests
s = requests.session()
r = s.get(url)
print(r.text)
正常情况下,绝对没有这么简单。您必须向标头或 cookie 添加一些数据,那么我们如何确定要添加哪些数据?Fiddler 和 Charles 都具有重复发送请求的功能。在Charles中选择要测试的请求,右键Compose,下面会多出一个请求,前面有一个钢笔标记,然后在上面请求的headers中添加数据,添加到下面请求的headers中
然后单击底部的执行按钮。如果请求成功,下方会出现状态为 200 的请求。
如果请求不成功,则意味着该请求必须依赖于上述请求之一。成功后,用“笔”回请求,删除headers中的一些内容,再次尝试发送请求,看看请求是否成功。一次又一次地尝试,直到剩下的数据最少并且请求可以成功。这将确定需要将哪些数据添加到标头或 cookie 中。
通过上面的调试,我们发现只需要在headers中添加host数据即可。对于小时榜,我们定时爬取每小时58分钟,每天23:58爬取日榜,每周日23点爬取周榜。:58 提取一次,代码已经上传到我的 GitHub 上,数据存储在 MongoDB 数据库中。这里我们抓取数据:
上面的数据都是按时间段保存的,这样抓拍一段时间后就可以把数据拿出来分析,我们下次再分析处理。稍后我还将导出捕获的数据并将其上传到 GitHub。我对数据分析不是很熟悉,所以只能做一些简单的分析。想要获取代码,请各位观众“功成名就”:Python爬虫实战之路。Re: ximalaya,获取代码地址。