如何用PIL截取URL的屏幕?

0 投票
2 回答
1191 浏览
提问于 2025-04-16 16:12

我想写一个服务器程序,这个程序可以让你输入一个网址,然后每隔30分钟就去访问这个网址,并把它保存成一张图片。请问用像CURL、urllib2和PIL这样的工具组合起来实现这个功能可行吗?

2 个回答

0

ImageGrab 是一个可以在Windows上截屏的工具。不过,你不能仅仅用CURL、urllib2和PIL来做到这一点,因为你需要先把网页显示出来。最简单的方法可能就是在浏览器中打开网页,然后再截屏。

1

Curl、urllib2等工具可以获取网页的HTML代码。但是,单独的网页代码并没有什么“样子”。浏览器会根据自己的规则来处理这些代码,生成我们看到的网页。而且,不同的浏览器在显示同一个网页时,可能会有些许不同。

换句话说,如果没有浏览器来生成网页,你是无法拍摄到网页的快照的。

如果你想挑战一下自己,可以使用你喜欢的浏览器的渲染引擎,自己创建一个可以编写脚本的页面渲染器。所有浏览器都把渲染引擎做成了一个独立的组件,你可以单独使用。比如,IE的渲染引擎叫“Trident”,Firefox的叫“Gecko”,Chrome的叫“WebKit”等等。

如果不想这么复杂,你可以使用一些用户界面脚本工具,比如iOpusSelenium。Selenium可以用Python编写脚本,所以这是一个不错的选择。

编辑

这里有个链接,看起来很简单。

撰写回答