如何使用python直接从url下载视频?
我是python新手,我想从给定的URL下载视频。所以 到目前为止,我已经听说了如何使用python直接从url下载视频?,python,video,Python,Video,我是python新手,我想从给定的URL下载视频。所以 到目前为止,我已经听说了urllib、urllib2和请求模块,它们可以帮助从URL下载视频,但当我尝试它们时,我显然得到了所有关于这些模块的数据 页面,我不知道我得到了什么,甚至不知道视频是否在那里,因为输出文件的大小通常是50-170 KB,而视频通常远不止这些。我将发布我的两个代码,用于下载视频,以便您可以告诉我他们是否有任何问题。如果他们没问题,你能告诉我如何把视频和我得到的分开吗?或者视频是否在那里 一, 二, 这是因为您必须在.
urllib
、urllib2
和请求
模块,它们可以帮助从URL下载视频,但当我尝试它们时,我显然得到了所有关于这些模块的数据
页面,我不知道我得到了什么,甚至不知道视频是否在那里,因为输出文件的大小通常是50-170 KB,而视频通常远不止这些。我将发布我的两个代码,用于下载视频,以便您可以告诉我他们是否有任何问题。如果他们没问题,你能告诉我如何把视频和我得到的分开吗?或者视频是否在那里
一,
二,
这是因为您必须在.mp4中有一个url。如果您没有,请求将处理并下载您在输入YouTube url时看到的页面
您可以尝试其他模块,如youtube dl(),或者您可以尝试(我不知道这是否可行)刮取youtube url页面的数据以提取视频的url。您可以尝试使用youtube dl模块,谢谢,但我想从任何网站下载视频youtube dl与许多网站()兼容。如果没有youtube dl,您需要解析您访问的每个站点以获得正确的视频url。然后可以使用python请求或urllib2对其进行dll
import requests
def download_file(url):
local_filename = url.split('/')[-1]
r = requests.get(url, stream=True)
with open("D://"+local_filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk:
f.write(chunk)
earl = "https://www.youtube.com/watch?v=DBYjZTdrJlA"
download_file(earl)
import urllib2
import os
earl="https://www.youtube.com/watch?v=DBYjZTdrJlA"
y= True
try: response=urllib2.urlopen(earl)
except urllib2.HTTPError:
print "oopsy, website wont allow it"
y=False
def downloader(url):
response=urllib2.urlopen(url)
info = response.read()
print info
fx= open(os.path.join("D://", "video.mp4"),'wb')
for line in info:
fx.write(line)
fx.close()
print "done"
if(y):
downloader(earl)