返回
当老婆再次让我下载腾讯视频,技术大牛出手了!
前端
2023-12-08 04:19:46
当老婆又让我下载一个腾讯视频时...
我们结婚了!是的,这次不是女朋友啦,是老婆了!时隔将近一个月,老婆又让我给她下载腾讯视频。
如果是按照上次探索的内容来下载的话,倒是可以一步步下载,合并,不过很麻烦,程序员不都是为了解决麻烦的吗,这么简单的需求,难道要靠手动?
抱着这样的想法,我决定写一个脚本,一次性搞定。
第一步:分析腾讯视频的下载地址
首先,打开腾讯视频,找到需要下载的视频,右键点击视频,选择“复制链接”。
然后,将复制的链接粘贴到浏览器中,按F12打开开发者工具,切换到“网络”标签。
播放视频,在开发者工具的“网络”标签中,找到名为“m3u8”的文件,右键点击,选择“复制链接地址”。
第二步:下载 m3u8 文件
将复制的 m3u8 文件链接粘贴到文本编辑器中,保存为 m3u8 文件。
第三步:提取视频片段的 URL
m3u8 文件中包含了视频片段的 URL,我们需要提取这些 URL。
import re
with open("m3u8.txt", "r") as f:
m3u8_content = f.read()
video_urls = re.findall(r'(https?://[^"]+)', m3u8_content)
第四步:下载视频片段
使用多线程下载视频片段。
import threading
import requests
def download_video(url):
r = requests.get(url, stream=True)
with open(url.split('/')[-1], 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
f.write(chunk)
threads = []
for url in video_urls:
t = threading.Thread(target=download_video, args=(url,))
threads.append(t)
t.start()
for t in threads:
t.join()
第五步:合并视频片段
下载完成后,使用 ffmpeg 合并视频片段。
ffmpeg -i "concat:video1.ts|video2.ts|video3.ts" -c copy output.mp4
大功告成!
经过以上步骤,你就可以轻松下载腾讯视频了。
后续优化
脚本还可以进一步优化,例如:
- 自动识别视频清晰度,下载最高清晰度的视频。
- 自动提取视频标题和。
- 提供图形用户界面,方便非技术人员使用。
写在最后
作为一个程序员,用技术解决生活中的小问题,既有成就感,又省时省力。希望这篇文章能帮助更多人轻松下载腾讯视频,享受优质视频内容。