我是python的新手,我想从给定的网址下载视频。所以
我听说过urllib
,urllib2
和requests
模块有助于从网上下载视频,但当我尝试使用它时,我显然得到了所有数据
页面,我不知道我得到了什么,或者即使视频在那里,因为输出文件的大小通常是50-170 KB,视频通常不止于此。我将发布我的两个代码,用于下载视频,以便您可以告诉我他们是否有任何问题。如果他们没事,你能告诉我如何将视频与我所获得的视频分开,或视频是否在那里?
1
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)
2
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)
答案 0 :(得分:0)
那是因为你必须在.mp4中有一个url。如果您没有,请求将处理并下载您在进入 YouTube 网址时看到的页面。
您可以尝试其他模块,例如 youtube-dl (youtube-dl from pypi),或者您可以尝试(我不知道这是否可行)抓取 YouTube 网址页面的数据用于提取视频的网址。