学python能赚钱吗-做直播能有多赚钱,Python告诉你

前面我们介绍了APP爬虫环境的搭建和mitmproxy工具的简单使用,这次我们要来一个简单的APP爬虫,尝试一下APP爬虫的简单实用,顺便让我们看看喜马拉雅上的主播到底有多赚钱。

APP爬虫一般分为两种方式,一种是直接分析破解应用的API,模拟API访问获取数据,另一种是设置代理,采用自动化操作,通过mitmproxy进行数据抓取。

分析API接口

这种方式爬取速度最快,但是分为初级和高级,初级是针对部分应用加密不严格,可以通过抓包软件抓包就能分析出一些接口,高级的就需要进行APP脱壳破解,阅读源码分析出接口。

自动化操作

这种方式比较慢,但是相对要简单一些,只要搞定了自动化操作工具,数据的抓取处理很方便。我目前了解了三种自动化工具:appium、Airtest、autoJS。针对这三种方式我们后面都会有文章来专门介绍。

今天我们就先使用初级方式来抓取一下喜马拉雅APP的主播排行榜,来看看这些主播到底有多富有,他们的快乐你能想象到吗?下面开撸了。

673094411-5e59e30c7948d_articlex

配置手机抓包环境

抓包工具我们之前介绍过三个:Fiddler、Charles、mitmproxy,直接安装进行简单配置即可抓包,这里不做详述。网上有茫茫多的这种配置帖子,我贴两个在下面大家自行查看。如果对于工具用法有需求的同学,请上哔哩哔哩搜索相关视频,看一个小时基本上就可以使用了。

Charles手机抓包配置

Fiddler手机抓包配置

操作抓包

打开模拟器和抓包软件

打开喜马拉雅APP,具体操作如下

1460000021871120

找到主播榜单以后,默认是小时榜,我们先搜索一下有没有抓到需要的数据,小时榜第一名:夏春瑶。切换到Charles,Ctrl+F打开搜索框

1782776147-5e59e31a4403e_articlex

打开底下搜索到的内容,双击一下就会定位到对应的请求上,查看响应数据

1009319297-5e59e31b18c67_articlex

4277253306-5e59e31ea3f34_articlex

通过查看我们就确定了,这个请求就是小时榜的请求地址。根据以上方式我们依次查看日榜和周榜

564609815-5e59e3214779d_articlex

2251122474-5e59e323d9147_articlex

以同样的方式获取对应的接口url,以下为对应接口:

小时榜:http://114.80.139.232/gift-ra...

日榜:http://114.80.170.77/gift-ran...

周榜:http://114.80.139.232/gift-ra...

PS:我在广电网络下抓取的接口和电信网络下不一样,主要是接口中IP地址不一样,不知道是IP变更了,还是和网络有关系,所以如果有同学使用我的代码不能正常抓取数据,请自己抓一下包

接口分析

已经拿到了接口,第一步我们就要尝试一下接口是否能正常抓取到数据

import requests

s = requests.session()

r = s.get(url)

print(r.text)

一般情况下肯定没有这么简单,在headers或者cookies中肯定需要添加一下数据才行,那么我们怎么确定需要加哪些数据呢?Fiddler和Charles都有重复发送请求的功能,在Charles中选中要测试的请求,右键点击Compose,下面就会多出一个请求,前面是一个笔的标记,然后把上面请求的headers中的数据,添加到下面请求的headers中

1563001716-5e59e32610e6a_articlex

然后点击底下的Execute按钮,如果请求成功,下面会出现一个状态为200的请求

428232965-5e59e326a7f61_articlex

如果请求不成功,那么就说明这个请求必须依赖上面的某个请求。成功以后呢,在回到带"笔”的那个请求上,删除headers中的部分内容,再次尝试发送请求,看是否能请求成功。反复尝试,直到剩下最少数据,并且可以请求成功。这样就能确定需要在headers或者cookies中添加哪些数据。

通过以上调试,我们发现headers中只需要添加host数据即可,对于小时榜,我们定时在每小时的58分抓取一次,日榜在每天23:58抓取一次,周榜在每周日23:58分抓取一次,代码已经上传到我的GitHub上,数据存储在MongoDB数据库中。这篇我们抓取了一下数据:

榜单数据

喜爱值

直播状态

主播名

排行

用户UID

房间ID

直播间数据

粉丝团名称

粉丝数量

直播间名称

直播开始时间

直播结束时间

分组ID

在线人数

参与人数

用户头像

以上这些数据都是按照时段保存的,这样等抓取一段时间后,就可以把数据拿出来进行分析,这个等下次我们在进行分析处理。后面抓取的数据我也会导出上传到GitHub上,数据分析这块我不是很熟,只能做一些简单的分析。如果想要获取代码,请在公众号回复:ximalaya,获取代码地址。

如果你觉得我的文章还可以,可以关注我的微信公众号,查看更多实战文章:Python爬虫实战之路

也可以扫描下面二维码,添加我的微信公众号

345272130-5e5915f76bb91_articlex

如果你觉得我的文章还可以,可以关注我的微信公众号,查看更多实战文章:Python爬虫实战之路

也可以扫描下面二维码,添加我的微信公众号

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值