我试着下载这个视频:https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4
我试过以下几种方法,但不起作用。
link = "https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4"
urllib.request.urlretrieve(link, 'video.mp4')我得到了:
urllib.error.HTTPError: HTTP Error 403: Forbidden有其他方法可以不使用urllib下载mp4文件吗?
发布于 2022-02-26 18:15:10
我没有问题要下载模块requests。
import requests
url = 'https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4'
response = requests.get(url)
with open('video.mp4', 'wb') as f: # use `"b"` to open in `bytes mode`
f.write(response.content) # use `.content` to get `bytes`它是小文件~10 in,但对于更大的文件,你可以下载成块。
import requests
url = 'https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4'
response = requests.get(url, stream=True)
with open('video.mp4', 'wb') as f:
for chunk in response.iter_content(10000): # 10_000 bytes
if chunk:
#print('.', end='') # every dot will mean 10_000 bytes
f.write(chunk)文档显示流请求,但用于文本数据。
url是一个string,所以您可以使用string-functions在最后一个/之后获取元素。
filename = url.split('/')[-1]或者您可以尝试使用os.path
至少它能在Linux上工作--也许是因为Linux也在本地路径上使用/。
import os
head, tail = os.path.split(url)
# head: 'https://www.learningcontainer.com/wp-content/uploads/2020/05'
# tail: 'sample-mp4-file.mp4'https://stackoverflow.com/questions/71273131
复制相似问题