如何使用python直接从网址下载视频?

时间:2016-04-09 10:20:11

标签: python video

我是python的新手,我想从给定的网址下载视频。所以 我听说过urlliburllib2requests模块有助于从网上下载视频,但当我尝试使用它时,我显然得到了所有数据 页面,我不知道我得到了什么,或者即使视频在那里,因为输出文件的大小通常是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)     

1 个答案:

答案 0 :(得分:0)

那是因为你必须在.mp4中有一个url。如果您没有,请求将处理并下载您在进入 YouTube 网址时看到的页面。

您可以尝试其他模块,例如 youtube-dl (youtube-dl from pypi),或者您可以尝试(我不知道这是否可行)抓取 YouTube 网址页面的数据用于提取视频的网址。