python如何截图?

How to take screenshots in python?

我有一个想法并想实现它。 但我不确定它是否会起作用。所以,想听听您的意见。

 I would like to take screenshots of a url. 

比如说,当我打开一个网站 www.espncricinfo.com 时,我想截取该页面的屏幕截图并保存在本地。此保存的图像稍后可以转换为 GIF。 这可以通过 python 实现吗?有 suggestions/inputs 吗?

已更新

并且是否可以在 headless-browser 中捕获屏幕截图?

是否可以在 headless mode(非 GUI)中启动浏览器,然后截取网页特定区域的屏幕截图?

是也不是,如果您使用 urllib 发送请求,您将在 return 中获得 HTML,这是显示网页的第一步。但是您必须使用浏览器引擎从该网页构建该网页,否则您将看到的只是一堆文本。

有一些 python 库可以做到这一点,例如 pywebkitgtk,但这些库可能不会为您提供最好的体验和支持。

您可以尝试的另一件事是使用 crod 和 firefox/chrome/whatever,然后使用 python 来自动化该过程。

哦,顺便说一下,我强烈建议升级到 python3

使用python截图:

import pyscreenshot as ImageGrab

im = ImageGrab.grab()

im.save('path/to/image/folder/image_name.png')

im.show()

我知道现在有点晚了,但刚刚看到这个问题,以防其他人正在寻找一个强大的工具,做屏幕截图并使用无头浏览器 python...我只是想推荐更深入地研究 https://www.seleniumhq.org/。 youtube 上有许多可用的教程。但是,恕我直言,这是执行任务最准确的框架,恕我直言。想要截屏,可以定义屏幕分辨率等