Python中flash元素的屏幕截图

时间:2016-07-16 08:07:21

标签: python flash screenshot

如何在Python 3.5.1中使用Flash网站的scrennshot。我尝试这样的东西,但我看不到视频图像。

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')

1 个答案:

答案 0 :(得分:1)

简短版:使用Youtube系统,如果你没有按下那个"播放"按钮(启动播放)没有提供视频。通过浏览器加载页面也是一种启动播放的形式。但是,使用webshot并不符合Youtube服务器的要求,因此无法使用。

长版

  

如何拍摄Flash网站的屏幕截图...我尝试了这个但是我   无法看到视频图像   webshot('https://www.youtube.com/watch?v=YQHsXMglC9A', 'screentest.png')

您无法截取Youtube的视频播放器内容。 Youtube的工作方式是,当视频页面准备就绪时,访问另一个PHP文件以确定视频链接(例如:所选质量设置的正确文件等)。基本上,您必须看起来像浏览器向其服务器发出HTTP请求。他们的服务器提供临时令牌来访问视频链接,直到令牌过期等。还有其他问题如CORS要处理。这些工作并非由您的工具完成。

如果只有Youtube使用普通的<video tag>和简单的MP4链接,那么您的代码就可以使用。

您可以获得的最佳效果如下(请参阅如何没有控件?)使用:

webshot('https://www.youtube.com/embed/YQHsXMglC9A', 'screentest.png')