这段代码主要用于从虎牙视频网站获取视频资源并下载保存到本地。下面是代码的主要部分解释:
- 通过
requests.get
方法发送 GET 请求来获取虎牙视频网站的页面内容。 - 使用正则表达式
re.findall
来匹配页面中的视频ID。<li data-vid="(\d+)">
正则表达式匹配带有data-vid
属性的li
标签,提取其中的视频ID。 - 遍历获取到的视频ID列表,构建视频链接。
- 使用
requests.get
方法发送 GET 请求来获取视频详细信息,包括标题和视频链接。 - 解析 JSON 数据,获取视频的标题和链接。
- 通过视频链接发送请求,获取视频内容,并将其保存到本地以标题命名的
.mp4
文件中。 - 打印视频标题和视频链接。
需要注意的是,代码中的视频链接可能会有一定的鉴权和限制,具体是否能够成功获取和下载视频内容可能需要进一步处理。另外,保存视频的路径 'video\\' + title + '.mp4'
需要根据你的实际情况进行调整。此外,该代码没有添加异常处理机制,你可能需要根据实际情况进行补充。
import requests
import re
url = 'https://v.huya.com/g/all?set_id=51'
response = requests.get(url=url)
video_id_list = re.findall('<li data-vid="(\d+)">', response.text)
for video_id in video_id_list:
link = f'https://liveapi.huya.com/moment/getMomentContent?videoId={video_id}&uid=&_=1665144759951'
response_1 = requests.get(url=link)
title = response_1.json()['data']['moment']['title']
video_url = response_1.json()['data']['moment']['videoInfo']['definitions'][0]['url']
video_content = requests.get(url=video_url).content
with open('video\\' + title + '.mp4', mode='wb') as f:
f.write(video_content)
print(title, video_url)
评论前必须登录!
注册