我将从此页面截取屏幕截图:http://books.google.de/books?id=gikDAAAAMBAJ&pg=PA1&img=1&w=2500或保存输出的图像。
但我找不到办法。使用wget / curl,我得到一个“不可用的错误”,还有其他工具,如webkit2png / wkhtmltoimage / wkhtmltopng。
使用python或命令行有没有一种干净的方法?
祝你好运!
答案 0 :(得分:14)
如果您愿意,可以使用ghost.py. http://jeanphix.me/Ghost.py/
以下是如何使用它的示例。
from ghost import Ghost
ghost = Ghost(wait_timeout=4)
ghost.open('http://www.google.com')
ghost.capture_to('screen_shot.png')
最后一行将图像保存在当前目录中。
希望这有帮助
答案 1 :(得分:6)
有时您需要额外的HTTP标头,例如User-Agent才能使下载工作。在python 2.7中,您可以:
import urllib2
request = urllib2.Request(
r'http://books.google.de/books?id=gikDAAAAMBAJ&pg=PA1&img=1&w=2500',
headers={'User-Agent':'Mozilla/5.0 (X11; U; Linux i686) Gecko/20071127 firefox/2.0.0.11'})
page = urllib2.urlopen(request)
with open('somefile.png','wb') as f:
f.write(page.read())
或者您可以查看在wget或curl中添加http标头的参数。
答案 2 :(得分:6)