使用python从vimeo下载嵌入式iframe视频

时间:2013-12-12 04:15:33

标签: javascript python video download vimeo

我一直在寻找,我看到如何使用python下载vimeo视频。我到目前为止已经有了这个代码。我可以访问父页面,但我无法做任何事情来击中那个iframe。我认为最好的方法是登录并点击iframe并从那里下载视频,但我遗漏了一些东西。你们有什么想法吗? 如果您需要更多信息,请随时告诉我,并一如既往地感谢您的时间。

import spynner
import os, sys, urllib

os.system("dir")

browser = spynner.Browser()
#browser.show()
url = 'https://somelink.php'
browser.load("https://somelink2.php")
browser.wk_fill("input[name=log]", "loginname")
browser.wk_fill("input[name=pwd]", "password")
browser.click("#wp-submit")
print browser.url, len(browser.html)
browser.load("http://somelink3-00000333/")
browser.click("//player.vimeo.com/video/747474749")
print browser.html

以下是我要下载的嵌入式视频。

<iframe src="//player.vimeo.com/video/747474749" width="500" height="281"
frameborder="0" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen=""></iframe>

1 个答案:

答案 0 :(得分:0)

网站允许从客户端运行Javascript。 所以简而言之,只需运行javascript即可访问该链接就足够了。 的javascript:window.location.href = “%S”; '%uls真的是让这一切成为现实所需要的。我希望它在未来有所帮助,也许还有更好的方法可以让我知道。

def getvideourl(htmldoc): 
        downloadurls = re.findall("//player.+video.\d+", htmldoc) 
        for uls in downloadurls: 
            uls.encode('ascii','ignore') 
            javasinject = 'javascript:window.location.href="%s"; '%uls 
            return javasinject 

    def jsinject(link): 
        str(link) 
        browser.runjs(link) 


    jsinject(str(getvideourl(browser.html))) 
    browser._wait_load()