Python:如何将网页捕获为图像文件?

3 投票
3 回答
3284 浏览
提问于 2025-04-16 01:32

我想在用户请求的时候,把一个网页保存成图片,但我不知道从哪里开始。

我正在用Python在App Engine上开发。

3 个回答

0

有一些网站可以帮你完成这个任务,谷歌是你的好帮手。如果你围绕这些网站写个脚本,你就能得到你想要的东西。作为示范,可以看看这个链接:http://webshots.velocitysc.com/sandbox/

还有一些可以下载的程序也能做到这一点,比如这个:http://download.cnet.com/Advanced-Website-to-Image-JPG-BMP-Converter-Free/3000-2094_4-10900902.html。这些只是一些例子,花点时间在谷歌上搜索,你会找到更好的解决方案。

如果你想自己动手做,基本上你需要复制一个网页浏览器(至少是HTML渲染的部分),这其实不太现实,或者像Zach建议的那样,使用一个现成的渲染引擎,比如webkit。如果我是你,我会放弃自己做,直接使用现成的网络服务,除非这将是你应用程序的核心功能。

2

这里有一个很不错的库,可以把网页保存为png格式的图片:

http://github.com/AdamN/python-webkit2png

1

一种方法是使用像 thumbalizr 这样的网络服务,因为很多这类程序并不总是能在 appengine 上安装(因为它们使用了 C++ 等语言)。其他的选择还包括 girafabrowsershots

撰写回答