Python:如何将网页捕获为图像文件?
我想在用户请求的时候,把一个网页保存成图片,但我不知道从哪里开始。
我正在用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格式的图片:
1
一种方法是使用像 thumbalizr 这样的网络服务,因为很多这类程序并不总是能在 appengine 上安装(因为它们使用了 C++ 等语言)。其他的选择还包括 girafa 和 browsershots。