如何使用PIL屏幕捕获URL?

时间:2011-04-21 22:10:26

标签: python django python-imaging-library

我正在尝试编写一个允许您输入URL的服务器进程,然后每隔30分钟ping该URL并将其捕获为图像。这可能与CURL,urllib2和PIL等组合使用吗?

2 个答案:

答案 0 :(得分:1)

Curl,urllib2等,抓取网页的HTML代码。但是一个页面本身不会看起来像。相反,浏览器使用该代码并根据其自身内部规则(如何使用该代码)呈现网页。当然,每个浏览器都会略微不同地呈现页面。

换句话说,如果没有网络浏览器来生成页面以拍摄快照,则无法拍摄页面的快照。

如果您感觉非常雄心勃勃,可以使用您选择的浏览器中的渲染引擎创建自己的自定义,可编写脚本的页面渲染器 - 它们都可以构建您可以使用的渲染引擎a separate component分别。 IE被称为“Trident”,Firefox被称为“Gecko”,Chrome是“WebKit”等。

否则,您只想进行某种UI脚本编写,就像使用iOpusSelenium一样。 Selenium可以用python编写脚本,所以这就是你的一个。

编辑

Here you go。这看起来很简单。

答案 1 :(得分:0)

ImageGrab可用于在Windows上截取屏幕截图。但是,您不能纯粹使用CURL,urllib2和PIL执行此操作,因为您必须呈现网站。最简单的可能是open the website in a browser并抓住屏幕截图。