使用环境:
- python3
- scrapy
- win10
爬取步骤
(1)从用户视频列表页开始
(2)使用ajax对接接口
(3)获取今日头条视频真实地址(西瓜视频真实地址)
备注:
这里的今日头条视频链接是直接跳转到365阳光宽频网的
https://www.365yg.com/
(1)我们要做的目标就是从把某个作者下的视频全部爬取下来。
(2)列表页下滑,获取xhr json数据
(3)xhr json获取规则: max_behot_time 参数的获取
列表的json数据参数只靠一个uid和max_behot_time进行拼接,得到下次请求数据内容,
(4)到这,列表页面的数据内容我们就获取到了。
(5)获取详情页的数据内容(视频播放页)
(6)source_url:
http://toutiao.com/item/6580318835541279236/
视频会重定向到:
http://www.365yg.com/i6580318835541279236/#mid=98676707813
(7)详情页解析:
这里详情页的信息是进行动态加载出来的,包括各种html标签,在查看网页源代码的时候都是这些
唯一有用的一个参数也就只有videoId这个东西了。
(8)右键审查元素
这个video标签下的url链接并不是我们所要取出来的,因为它返回的是404页面
真实的视频地址应该是这样子的:
http://v11-tt.ixigua.com/8a683ae4cba879e11cb4d6f0b43a7619/5b52f568/video/m/220af88614f73ce4742877a807bbbc0d0fb1159603c00008d84075740fd/
上面这个地址也是西瓜视频的永久地址,并不存在视频根据时间过期的时间。
因为使用的是scrapy-redis框架,加上ip代理池,加上延时1秒,并发量在1秒10次请求左右(限于ip1秒最大只能取10次),数据爬了一天,现在为14万左右
单条信息数据:
'videos': [{'cut_url': 'http://p1.pstatp.com/list/190x124/31b9000116e2ab5c8840',
'duration': '',
'size': '',
'title': '世界这么美好,你为什么要去得罪老虎!为什么为什么为什么!',
'url': 'http://v3-tt.ixigua.com/85a193eb73049b91d90c871805557408/5b52f4ec/video/m/2206c559475e53f41849f784a829d58ef67114c4830000113768212918/'}]}
源码这边暂时不进行公开,需要源码的可以进小密圈
更多原创博客请访问: