2016-02-19 85 views
0

好吧,这可能是一个复杂的。跟别的建议一样。我想创建一个脚本,我可以从一个命令行运行,它将获取一个HTML页面列表并将它们转换为一个动画gif(按照我提供的顺序)。速度是一个考虑因素,但在这个阶段,任何想法无论长时间啰嗦都是受欢迎的使用命令行从多个HTML页面创建动画gif

为了测试我的HTML页面:

回答

0

你的意思是在浏览器显示页面第一,因为它们是捕获?

(编辑:从评论,显然没有) 看一看http://phantomjs.org/screen-capture.html
我不能让它与你的网页的工作,但我认为可能。
它可以很好地与其他网站(如stackexchange)。 此外,BBC有时候会对来自澳大利亚的请求有点好笑......

我下载了64位Linux版本,取消了tar目录,并尝试使用这个超级基本脚本。

hello.js

console.log('Start ...'); 

var page = require('webpage').create(); 
page.open('http://www.stackoverflow.com', function(status) { 
    console.log("Status: " + status); 
    if(status === "success") { 
    page.render('example.png'); 
    } 
    phantom.exit(); 
}); 

我的选项来运行调试器(Chrome浏览器可视范围)开始,但我后保释。

phantomjs-2.1.1-linux-x86_64/bin/phantomjs --remote-debugger-port=9000 --remote-debugger-autorun=yes hello.js 

我会离开原来的答案在这里对于谁可能想这样做,在桌面上的人benifit,以及为GIF动画转换。

对于来自GUI桌面捕获:从命令行

  • 遥控浏览器
  • 处理图像

    • 捕捉的屏幕截图

    然后,它会是关于得到的时间正确的脚本。虽然“速度是一个考虑因素”,我们说几秒钟还是几分钟?

    甲roughie例如:
    安装 'scrot' 作为一个屏幕抓取

    apt-get install scrot 
    

    imagemagick/convert可能已经安装?

    apt-get install imagemagick 
    

    最大限度地提高您的默认浏览器

    运行以下命令:

    #!/usr/bin/env python 
    import time 
    from subprocess import Popen 
    
    
    wobpages = ['http://www.bbc.co.uk/sport','http://www.bbc.co.uk/news','http://www.bbc.co.uk/weather'] 
    x =1 
    for page in wobpages: 
        Popen(["xdg-open", page]) 
        time.sleep(8) 
        img = 'wobpage%s.png' % x 
        Popen(["scrot", img]) 
        x += 1 
    opt = "convert -delay 100 -loop 0 *.png animation.gif" 
    Popen(['/bin/sh', '-c', opt]) 
    
  • +0

    谢谢,我给这一个去回复你。我预见到的唯一问题是'最大化您的默认浏览器' - 我无法访问GUI,因此浏览器需要无法访问。 –

    +0

    啊,请参阅修订版 – Mbo42

    +0

    感谢您花时间深入研究,我将其标记为已接受的答案。 –