我一直在寻找,我看到如何使用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>
答案 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()