当Python遇上快手,短视频居然不加密?网友:难怪内容如此低俗
快手很火,火到差不多全民快手。别喷我,但是我个人并不喜欢玩,太多低俗内容博取眼球让我很不舒服。考虑大家都喜欢,出了此篇教程。
你尽管发视频,发一个我用Python爬虫立即把你爬取了,让你们见识一下Python编程的魅力!我也就用Python一次爬取2000个视频吧,不爬多了!快手竟然不加密.......佩服佩服。自行安装Python2软件与Windows10系统,考虑到大家都现在用的是Android系统,那么就装上fiddler、postman安卓模拟器吧。fiddler是啥?Python抓包的神兵利器!当然可以抓APP的包咯,无需多言。
首先打开fiddler,配置允许https
配置允许远程连接 也就是打开http代理
查一下PC端的IP地址
你使用的手机与电脑用同一个WIFI就是说在同一个网络,而且可以保持通信的状态。
看我用安卓模拟器演示吧
打开浏览器,输入192.168.1.110:8888 也就是设置的代理地址,安装证书之后才能抓包
保存之后就可以了,fiddier就可以抓到app的数据了。打开快手 刷新 可以看到有很多http请求进来,一般接口地址很明显的,可以看到是 jeson类型的
安装证书之后,在wifi设置修改网络,手动指定http代理
http post 请求,返回数据是json,展开后发现一共是20条视频信息,先确保是否正确,找一个视频链接看下
OK是可以的播放的 很干净也没用水印。那么现在打开postman来模拟这个post看看有没有检验参数
一共是这么多参数,我以为client_key和sign会验证...可是后面 发现我也错了 啥也没验证 就这样提交过去就行...
form-data方式提交则报错
那换raw这种,再加上headers吧!
成功返回数据,又多试了几次,发现每次返回的结果不一样,都是20个视频,刚才其中的POST参数中有个page=1 可能就一直都是第一页 就像一直在手机上不往下翻了就开始一直刷新那样,这个没关系,只要返回数据不从重复就行
代码如下:
多线程下载,每次下载200个视频左右,默认下载到D:快手
最后福利!!
如果你需要这些书籍的电子档,可以关注小编+转发此文,然后私信我”书籍“就可以免费领取这三本书籍电子档!