Python - 从间接URL下载视频

时间:2016-09-17 20:19:12

标签: python url video web-scraping

我有这样的链接

https://r9---sn-4g57knle.googlevideo.com/videoplayback?id=10bc30daeba89d81&itag=22&source=picasa&begin=0&requiressl=yes&mm=30&mn=sn-4g57knle&ms=nxu&mv=m&nh=IgpwcjA0LmZyYTE2KgkxMjcuMC4wLjE&pl=19&sc=yes&mime=video/mp4&lmt=1439597374686662&mt=1474140191&ip=84.56.35.53&ipbits=8&expire=1474169270&sparams=ip,ipbits,expire,id,itag,source,requiressl,mm,mn,ms,mv,nh,pl,sc,mime,lmt&signature=6EF8ABF841EA789F5314FC52C3C3EA8698A587C9.9297433E91BB6CBCBAE29548978D35CDE30C19EC&key=ck2

这是一个临时生成的重定向(链接之类)此链接: https://2.bp.blogspot.com/bO0q678cHRVZqTDclb33qGUXve_X1CRTgHMVz9NUgA=m22

(所以第一个链接在几个小时内不起作用)

如何使用Python从 googlevideo 网站下载视频? 由于this回答,我已经尝试了youtube-dl,但它对我不起作用。

直接网址已经对我有很大的帮助!

1 个答案:

答案 0 :(得分:1)

您可以使用pycurl

#!/bin/usr/env python
import sys
import pycurl

c = pycurl.Curl()
c.setopt(c.FOLLOWLOCATION, 1)
c.setopt(c.URL, sys.argv[1])
with open(sys.argv[2], 'w') as f:
    c.setopt(c.WRITEFUNCTION, f.write)
    c.perform()

用法:

$ chmod +x a.py 
$ ./a.py "https://2.bp.blogspot.com/bO0q678cHRVZqTDclb33qGUXve_X1CRTgHMVz9NUgA=m22" output.mp4
$ file output.mp4
output.mp4: ISO Media, MP4 v2 [ISO 14496-14]