找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 147|回复: 0

Python2.7爬虫+Fiddler 爬取快手APP的短视频

[复制链接]

2万

主题

146

回帖

15万

积分

管理员

积分
153049
发表于 2021-12-1 21:49:17 | 显示全部楼层 |阅读模式 IP:山东省青岛市 移动

登录后更精彩...O(∩_∩)O...

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 mind 于 2021-12-1 21:50 编辑

Python2.7爬虫+Fiddler 爬取快手APP的短视频
【原创内容,转载需作者同意】

近期学习机器学习,需要用到小视频,想爬取快手,抖音上的热门小视频,没用过这些APP,以为有网页版,没想到只有APP,无奈只能通过Fiddler进行手机抓包再爬取。过程还是比较简单的,但是属于半自动爬取,因为快手的url里有sig签名参数,3.97版本以上的快手据说采用的so加密,很难破解,所以无法让程序去自动翻页。我不是这方面的专家,所以只能采取笨办法:手动抓取100页的url,存储到文本文件,再让程序去自动读取文件。具体方法如下:

工具:Python2.7+Fiddler

1.Fiddler下载安装,这个不多说了,按照指示一步步来就好了。

2.Fiddler配置
1.png

2.png


按这样设置好了之后会弹出一个对话框,点确定就好。端口选的8888,要确定该端口没有被占用,若被占用可换一个端口。



3.手机设置

让手机和电脑处于同一网段,比如让手机和电脑连接同一个WiFi就行。在手机浏览器中输入网址: 电脑IP:端口号。电脑IP可通过cmd窗口查到,如下图,端口号就是上一步设置的8888。所以我的网址是:192.168.1.125:8888
3.png
输入网址后跳出如下页面:
4.png
点击红框中的连接,会开始下载证书:
5.png
证书名称随便写,最后点击确定就好了。安装成功之后通知栏会显示受到不明第三方监控,这样就代表成功啦。

最后一步,到手机的WLAN设置里,点击当前所连接的wifi修改网络,如下图所示:
14.png
4.手机抓包

可以开始抓包了,打开快手APP,Fiddler会快速显示很多信息,这些都是手机传送或者接收到的信息。可以逐个包点开,以json形式查看是否是我们需要的内容,如下图所示:
6.png
这时可以看到,有一个包里显示了很多信息,包括视频的标题,发布者,再往下拉,发现里面包含很多叫做“main_mv_url"的标签,复制其中一个标签后的url到浏览器,发现浏览器下载了一个mp4格式的视频,点开视频,就是我们需要的。为了让列表中只显示我们需要的包,让视图更清晰,可以用过滤器,只显示URL中含/rest/n/feed/的内容
7.png

8.png

回到Fiddler,看之前那个包的头(Fiddler右上窗口),上面有个url,可以复制到浏览器会发现打开的不是和Fiddler右下角一样的json界面,而是显示服务器繁忙,因为这个url是不完整的。注意右上窗口最后一行有个“type=......”这其实是完整url的后半部分,要把它拼接到第一行POST url的后面,并且以&连接。把完整的url再复制到浏览器,得到和Fiddler右下窗口类似的内容(不是完全一样,因为视频内容会更新),ok。
9.png

10.png


再观察“type=...”这串字符,可以多抓几个包对比一下,发现count后面跟着的数字是不一样的,即每个json里所含视频个数不一样。平均每个json中含有20个视频的下载链接。page后面的数字就代表页数,在快手界面不断的往下滑,隔一小段时间会有另一个包,可以发现page后的数字是递增的。__NStokensig和sig后跟的一串数字是没有规律可循的,要破解快手APP的代码才能知晓。所以无法掌握每个json的url变化规律,所以若是要抓取20个以上的视频,只能通过在快手app页面上往下滑动,抓包,copy完整的url到文本文件再用程序进行下载。我一共是抓了106个包,用了半小时不到,所以其实是很快的,最后能获取有2000多个视频,。

5.程序代码

程序很简单,加了日志功能来记录每个视频的题目和url和下载进度。有时候可能遇到某个下载链接有问题,所以程序可能卡在那里,因为我没有做超时处理,所以这时需要停止程序并修改一下page和video_count的值继续下载。当然这种情况比较少,我下载了2000个视频就遇到2次。最后记得每个视频下载完毕用time.sleep()挂起几秒钟,不然访问太快可能会被封哦。


控制台:
11.png
日志:
12.png
下载的视频:
13.png
————————————————
版权声明:本文为CSDN博主「哈士奇的布偶」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bpp94_github/article/details/80038052


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|螺蛳教育|加密|CTF WiKi|CTF平台汇总|CTF show|ctfhub|棱角安全|rutracker|攻防世界|php手册|peiqi文库|CyberChef|猫捉鱼铃|手机版|小黑屋|cn-sec|IOTsec-Zone|在线工具|分享屋 ( 鲁ICP备2021028754号 )

GMT+8, 2024-10-24 14:21

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表