Python 中 flash 元素的屏幕截图
Screenshot of flash element in Python
如何在Python 3.5.1中对flash网站进行截图。我正在尝试这样的操作,但看不到视频图像。
from selenium import webdriver
def webshot(url, filename):
browser = webdriver.PhantomJS()
browser.get(url)
browser.save_screenshot(filename)
browser.quit()
webshot('https://www.youtube.com/watch?v=YQHsXMglC9A', 'screentest.png')
简短版:使用 Youtube 系统,如果您没有按下 "play" 按钮(开始播放),则不会提供视频。通过浏览器加载页面也是一种启动播放的形式。但是,使用 webshot
不满足 Youtube 服务器的要求,因此无法正常工作。
长版 :
How can I take a screenshot of a Flash website... I tried this but I
can't see video image.
webshot('https://www.youtube.com/watch?v=YQHsXMglC9A', 'screentest.png')
您不能像这样截取 Youtube 的视频播放器内容。 Youtube 的工作方式是当视频页面准备就绪时,访问另一个 PHP 文件以确定视频 link(例如:所选质量设置的正确文件等)。基本上你必须看起来像一个 浏览器 向他们的服务器发出 HTTP 请求。他们的服务器提供临时令牌以访问视频 link 直到令牌过期等。还有其他问题需要处理,例如 CORS。这些事情不是由您的工具完成的。
如果 Youtube 使用普通的 <video tag>
和简单的 MP4 link 那么你的代码就可以工作了。
你能得到的最好结果如下(看看没有控件是怎么回事?)使用:
webshot('https://www.youtube.com/embed/YQHsXMglC9A', 'screentest.png')
如何在Python 3.5.1中对flash网站进行截图。我正在尝试这样的操作,但看不到视频图像。
from selenium import webdriver
def webshot(url, filename):
browser = webdriver.PhantomJS()
browser.get(url)
browser.save_screenshot(filename)
browser.quit()
webshot('https://www.youtube.com/watch?v=YQHsXMglC9A', 'screentest.png')
简短版:使用 Youtube 系统,如果您没有按下 "play" 按钮(开始播放),则不会提供视频。通过浏览器加载页面也是一种启动播放的形式。但是,使用 webshot
不满足 Youtube 服务器的要求,因此无法正常工作。
长版 :
How can I take a screenshot of a Flash website... I tried this but I can't see video image.
webshot('https://www.youtube.com/watch?v=YQHsXMglC9A', 'screentest.png')
您不能像这样截取 Youtube 的视频播放器内容。 Youtube 的工作方式是当视频页面准备就绪时,访问另一个 PHP 文件以确定视频 link(例如:所选质量设置的正确文件等)。基本上你必须看起来像一个 浏览器 向他们的服务器发出 HTTP 请求。他们的服务器提供临时令牌以访问视频 link 直到令牌过期等。还有其他问题需要处理,例如 CORS。这些事情不是由您的工具完成的。
如果 Youtube 使用普通的 <video tag>
和简单的 MP4 link 那么你的代码就可以工作了。
你能得到的最好结果如下(看看没有控件是怎么回事?)使用:
webshot('https://www.youtube.com/embed/YQHsXMglC9A', 'screentest.png')