【问题标题】:How do Google and Facebook implement and create the preview link functionality?Google 和 Facebook 如何实现和创建预览链接功能?
【发布时间】:2011-04-25 11:55:08
【问题描述】:

Google、Facebook 和其他一些公司现在具有预览链接功能,您可以在其中查看网站主页的“屏幕截图”。有什么建议可以实现吗?

具体来说,我希望能够截取屏幕截图(例如 iPhone 屏幕截图)并将其作为 jpg 或 png 等图像提供。

如果可能,我想从 python 中执行此操作。

【问题讨论】:

  • 有趣的问题,如何通过代码截取网页?

标签: python image webpage-screenshot


【解决方案1】:

为此,您必须运行单独的网络浏览器,然后以所需格式保存图像。您可以尝试像 phantomJS 这样的无头 Web 堆栈作为单独的进程,并将其输出捕获为图像。

有几个 Web 服务可以提供此功能,例如 WebSnapr

【讨论】:

  • 谢谢。我在想这(phantomJS)可能是一种尝试的方式,但如果其他人已经完成了这项工作,我会很乐意使用它。 Websnapr 看起来不错,但我必须让它适应 iPhone 的大小。
  • 更新:我最终使用 phantomjs 来做到这一点。不过有几点需要注意:我们必须解决一些问题才能获得合理的渲染时间。对此的依赖非常荒谬——QT & X 窗口依赖。所有被认为是屏幕截图的东西都是完美的,并且在几分之一秒内就可以在本地渲染。如果有人对详细信息感兴趣,请给我留言。
【解决方案2】:

我们正在使用服务Bluga,它不是太广泛并且很容易实现。如果你不喜欢 there are many other services available.

【讨论】:

  • 谢谢。试用了 Bluga,它易于使用,但对于我的立即使用来说太慢了,因为我现在需要一点实时可以这么说。现在也在检查替代方案。
  • 我认为您不会实时找到任何东西,捕获屏幕截图的处理太多。该服务必须将您的请求放入队列中,截屏无人机必须加载网站,截取屏幕截图,保存并将其/链接发送给您。
  • 更新:我最终使用 phantomjs 来做到这一点。不过有几点需要注意:我们必须解决一些问题才能获得合理的渲染时间。对此的依赖非常荒谬——QT & X 窗口依赖。所有被认为是屏幕截图的东西都是完美的,并且在几分之一秒内就可以在本地渲染。如果有人对详细信息感兴趣,请给我留言。
  • @znarkus 是的,它会捕获闪存。您需要设置 load-plugins=yes 。我没有需要,我的环境是 Linux。我已经阅读了关于它在 Windows 上有点不一致的轶事证据,但我猜如果它在 Windows 上完全有效,那么可能只是时间问题。
【解决方案3】:

Jquery Preview 也可能有帮助。真的很像Facebook的预览版

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-26
    • 2012-01-14
    • 1970-01-01
    • 2014-07-20
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多