欢迎光临散文网 会员登陆 & 注册

Python爬取虎牙视频

2022-05-14 10:12 作者:码夫破石  | 我要投稿

前言:

虎牙有很多优质的视频,周末无事嘛,来采一些优质博主发布的优质视频养养眼。今天爬的影视板块,有些电影还是有回忆杀的。虎牙视频地址:https://v.huya.com/。

思路:

    先点开虎牙视频的‘影视链接,选择‘最多播放’,这是今天要采的板块儿;

    点开一个单独的视频,跳转到视频播放页面,F12(chrome浏览器),找到network-media,视频地址出现;

    选中视频地址中的部分字符串,在开发者工具里查找,查找视频真实地址的来源,也就是视频真实地址的存放地址,爬虫需要请求的地方;

    视频存放地址的请求地址:https://liveapi.huya.com/moment/getMomentContent?callback=jQuery1124024533350877780635_1652492984447&videoId=663219021&uid=1197912393&_=1652492984458;

    多点开几个,发现只有videoId=663219021这个字段会变化;

    规律出现;视频列表页-视频播放页-视频请求的播放地址-播放地址找播放源-python请求播放源-提取json数据

图片配合思路:

视频播放地址获取到的视频真实地址
通过提取视频真实地址里的部分字符串,找到视频播放请求的源

接下来要做的就是利用Python构造请求视频播放源,然后提取想要的数据。

上码:

函数执行顺序:

    1, _main()主函数;

    2,调用Python多线程的高级模块concurrent.futures.ThreadPoolExecutor

    3,parse_page()解析视频列表页面函数;

    4,get_json() 提取视频源页面json数据函数;

    5,save_media() 保存视频函数;

    6,get_response() 获取网页响应函数;

因为请求视频源页面需要cookie,也就是需要登录,所以第一个函数get_response()并不能完成视频数据源的请求任务,于是多写了一个获取网页响应数据(请求视频播放源的数据)的函数get_json()。

两张截图,显示程序运行正常:

脚本运行截图
视频保存到硬盘后的截图

打完收工。昨天RNG重赛了,因为拳头官方收到隔壁赛区的LCK的投诉,说*aker和小*布的ping值达到了80,影响了比赛结果。然后昨天我gala又拿了个五杀。就问要拿几个五杀才能不重赛。我要去剪五杀了。

五杀它来了。

Python爬取虎牙视频的评论 (共 条)

分享到微博请遵守国家法律