上周,在教育课上向学生解释了手机袋代理软件Charles、Fiddler等工具,并在实习项目中将接收快速应用程序人气短视频的下载链接设定为学习目标。

获取快手APP热门短视频的下载链接的思路和方法很多, 但同学们在这过程中普遍遇到了以下困难:

1) Charles或Fiddler手机代理抓包工具对来自手机上快手APP的https无法解析,即在代理中看到的快手https包为unknown或乱码。

2) 有的同学参考了大量网上关于快手短视频的爬取文章,但由于没有系统性地分析讲解快手视频下载链接的获取方法,加之快手APP技术的升级,导致部分信息失效。 所以,同样无功而返。

因此,如何获取快手APP热门短视频的下载链接?

第一步: 首先我们需要清楚为什么手机代理抓包失败?

参考: 为什么抓包代理软件对有些APP应用可以解密https包而有些APP乱码

第二步:找到原因,如何避开ssl pinning来抓包呢?

参考:如何用抓包代理软件Charles或Fiddler能抓取并解密APP的https包

第三步: 安装好整体抓包环境并成功解析https包以后,就可以用Charles或Fiddler配合安卓模拟器来共同获取视频下载链接。下面以Charles为例说明:

1) 初步分析Charles中抓取的快手包,并在View - Focused Hosts 添加快手APP服务端的域名,与其他主机的抓包从列表中区分开来。快手APP服务端域名有: a, a等5,6个域名。由于其他域名主要是图片服务器,或日志服务器等,因此,初步判断视频来自:a。

2)通过手机APP操作,进一步观察分析发现,快手的热门视频是由以下APP POST请求返回。返回结果为JSON。

具体链接形式: http://a/rest/n/feed/hot?isp=CMCC&mod=Netease%28Android%29&lon=119.73903&country_code=CN&kpf=ANDROID_PHONE&extId=1b22ead02dc8b31&did=ANDROID_2556&kpn=KUAISHOU&net=WIFI&app=0&oc=MYAPP%2C1&ud=0&hotfix_ver=&c=MYAPP%2C1&sys=ANDROID_6.0.1&appver=6.4.1.8151&ftt=&language=zh-cn&iuid=&lat=55.652478&did_gt=15585905&ver=6.4&max_memory=192

除了以上POST链接以外, 还包含POST内容:

type=7&page=1&coldStart=false&count=20&pv=false&id=44&refreshTimes=2&pcursor=&source=1&needInterestTag=false&browseType=1&seid=f20dc8-1418-4424-a196&volume=0.73&client_key=3c2cddff5&os=android&sig=29cd3e091129cd305b123c1639cd305

从以上POST请求的返回JSON中,main_mv_urls_h265中值便为热门视频的下载链接。

本例中main_mv_urls_h265的链接提取为:

;type=hot

APP首页中有许多热门视频,所以类似的链接在返回JSON中默认有20个。

3) 至此,我们就成功定位了快手热门短视频的下载链接。

注意:以上的client_key和签名串是由快手定义,因用户而异。 因此,以上签名做了失效处理。在实际项目中,请同学们采用各自账户生成的client_key和签名串。

1.《怎么看快手的热门视频?终于找到答案了如何获取快手APP热门短视频的下载链接》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《怎么看快手的热门视频?终于找到答案了如何获取快手APP热门短视频的下载链接》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/gl/3002877.html