python - 如何使用python将网页另存为图像

标签 python web screenshot

我正在使用 python 创建网站的“收藏夹”部分。我想做的一部分是抓取一张图像放在他们的链接旁边。因此,流程是用户输入一个 URL,然后我抓取该页面的屏幕截图并将其显示在链接旁边。够简单吗?

我目前已下载pywebshot它在我本地盒子上的终端上运行得很好。但是,当我将其放在服务器上时,我收到了段错误,并带有以下回溯:

/usr/lib/pymodules/python2.6/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display
  warnings.warn(str(e), _gtk.Warning)
./pywebshot.py:16: Warning: invalid (NULL) pointer instance
  self.parent = gtk.Window(gtk.WINDOW_TOPLEVEL)
./pywebshot.py:16: Warning: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
  self.parent = gtk.Window(gtk.WINDOW_TOPLEVEL)
./pywebshot.py:49: GtkWarning: Screen for GtkWindow not set; you must always set
a screen for a GtkWindow before using the window
  self.parent.show_all()
./pywebshot.py:49: GtkWarning: gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed
  self.parent.show_all()
./pywebshot.py:49: GtkWarning: gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed
  self.parent.show_all()
./pywebshot.py:49: GtkWarning: gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed
  self.parent.show_all()
./pywebshot.py:49: GtkWarning: gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed
  self.parent.show_all()
Segmentation fault

我知道有些东西无法在 pts 环境中运行,但说实话,现在这有点超出我的能力范围。如果我需要以某种方式假装我的 pts 连接是 tty,我可以尝试一下。但现在我什至不确定发生了什么,我承认这有点超出我的能力范围。任何帮助将不胜感激。

另外,如果有一个网络服务可以传递 URL 并接收图像,那也可以。我不认同 pywebshot 的想法。

我确实知道我所在的服务器正在运行 X 并且安装了所有必需的 python 模块。

提前致谢。

最佳答案

我找到了websnapr.com这是一个网络服务,只需一点点工作即可为您提供图像。

import subprocess
subprocess.Popen(['wget', '-O', MYFILENAME+'.png', 'http://images.websnapr.com/?url='+MYURL+'&size=s&nocache=82']).wait()

简单易行。

关于python - 如何使用python将网页另存为图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4091940/

相关文章:

google-chrome - 理解 webrtc 转储

html - 从 html5 动画创建视频的最佳方式

python - 如何使用 Python 从 3-D 椭球生成点的随机样本?

android - CSRF 安全策略,用于创建具有网站界面的 Android 应用程序

java - @Value 注释在属于依赖项 jar 的类中未解析

java - 希望我的屏幕截图显示在 JFrame 中

ios - Xcode如何在屏幕上截取指定区域的截图

Python - 时间戳变化的字符串

python - 对元组的元素进行编码

python - 将自定义 pandas 函数应用于列时出现奇怪的行为