是否可以从YouTube网页的来源获取当前播放视频的下载网址?提前致谢。请帮助我。
实际上我有一个下载程序,但它现在无法正常工作。当我尝试使用浏览器中下载程序提供的URL时,它会返回一个错误页面,上面写着“访问该网页被拒绝了。”我获取的网址是视频是 “http://r14---sn-h557snel.c.youtube.com/videoplayback?gcr=in&ip=121.241.181.70&upn=OOcjKEO_S6I&cp=U0hUTFZQT19KU0NONF9OSlNGOmFRT2JSUUs2bDVi&ipbits=8&fexp=900148,920704,912806,928001,922403,922405,929901,913605,929104,913546,913556,908496,920201,913302,919009,911116,901451,902556&ms=au&mt=1357625350&mv=m&id=31a79fcdbfc6c2f6&sparams=cp,gcr,id,ip,ipbits,itag,ratebypass,source,upn,expire&expire=1357651559&itag=18&key=yt1&newshard=yes&source=youtube&ratebypass=yes&sver=3”
所以我不知道下载器是否提供了正确的URL。请帮帮我
答案 0 :(得分:1)
抱歉,我环顾四周,找不到从youtube链接直接下载源文件的方法。有一些指南,但它们都在2009年左右;并且由于youtube现在更改了很多代码,因此它们都无法正常工作。
虽然有许多网站,插件,应用程序允许您下载视频;但我认为它们不是来自链接的代码。由于要观看视频,您必须暂时下载它,我认为它们都使用打开页面,播放(下载)视频并实际保存的方法。我会列出那些网站和插件,但因为这些来源并不难找;我假设您正在尝试构建自己的下载程序,而不是使用已经存在的下载程序。
如果您能以某种方式获得视频源文件的链接,另请注意。我相信youtube有权限阻止访问其后端的所有文件夹和文件以获取安全措施;只允许这些文件转发并显示在实际播放器页面上。如果您认为嵌入式视频会以某种方式工作,他们仍然只是向youtube发出请求,然后youtube会返回视频供稿数据,因此仍然没有直接连接到该文件。
答案 1 :(得分:1)
您应该使用播放器API https://developers.google.com/youtube/js_api_reference#Retrieving_video_information
player.getVideoUrl():String
返回当前加载/播放视频的YouTube.com网址。
答案 2 :(得分:1)
我编写了一个简单的python代码,可以从html代码中获取youtube href。 希望它可以帮到你:
#!/usr/bin/env python
import re
pattern = '.*<(iframe|param).*(src|value)="(?P<link>http://www.youtube.com/(embed|v)/[a-zA-Z0-9/\.\?&;=\+_-]+);?.*".*>.*</(iframe|param)>.*'
action = re.compile(pattern)
result = action.findall('<div><iframe.....></iframe><param......></param></div>')
print result