如何解决从 ttdownloader 使用 python 下载视频
大家好,我需要帮助,我正在尝试使用 python 从该站点https://ttdownloader.com/dl.php?v=YTo0OntzOjk6IndhdGVybWFyayI7YjowO3M6NzoidmlkZW9JZCI7czoxOToiNjkxMjEwNzYyNzY1MjY5NzM1MCI7czozOiJ1aWQiO3M6MzI6Ijk0MTdiOWE3NWU2MmE3MDQ1NjZhYzk0MzJjMThlY2VlIjtzOjQ6InRpbWUiO2k6MTYxMTQ5NzE1ODt9下载视频。
这是我试过的代码。
import requests
url ='''https://ttdownloader.com/dl.php?v=YTo0OntzOjk6IndhdGVybWFyayI7YjowO3M6NzoidmlkZW9JZCI7czoxOToiNjkxMjEwNzYyNzY1MjY5NzM1MCI7czozOiJ1aWQiO3M6MzI6Ijk0MTdiOWE3NWU2MmE3MDQ1NjZhYzk0MzJjMThlY2VlIjtzOjQ6InRpbWUiO2k6MTYxMTQ5NzE1ODt9'''
page = requests.get(url)
with open('output.mp4','wb') as file:
file.write(page.content)
但它没有按预期工作,当我检查 page.content 时,我看到的只是 b''
解决方法
❌ 您使用的链接不是一个 html 页面。
❌ 因此它不会以 html 的形式返回任何内容。
✅您的链接是媒体链接。
✅ 因此,您必须流式传输并下载它。像这样:
import requests
url = '/your/valid/ttdownloader/url'
with requests.get(url,stream=True) as r:
with open('ouput.mp4','wb') as f:
for chunk in r.iter_content(chunk_size=8192):
f.write(chunk)
注意:
您在问题中发布的链接现在无效。
请使用新生成的链接尝试上述代码。
您应该使用 request.urlretrieve
将 URL 直接保存到文件中:
from urllib import request
url ='''https://ttdownloader.com/dl.php?v=YTo0OntzOjk6IndhdGVybWFyayI7YjowO3M6NzoidmlkZW9JZCI7czoxOToiNjkxMjEwNzYyNzY1MjY5NzM1MCI7czozOiJ1aWQiO3M6MzI6Ijk0MTdiOWE3NWU2MmE3MDQ1NjZhYzk0MzJjMThlY2VlIjtzOjQ6InRpbWUiO2k6MTYxMTQ5NzE1ODt9'''
request.urlretrieve(url,output.mp4)
但是,这段代码给了我一个 urllib.error.HTTPError: HTTP Error 403: Forbidden
错误。此链接似乎在未经身份验证的情况下无法公开访问。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。