代码之家  ›  专栏  ›  技术社区  ›  Chaitanya

网页呈现捕获

  •  2
  • Chaitanya  · 技术社区  · 16 年前

    我从描述问题本身开始。而不是一个问题,我正在寻找一个更好的解决方案。我有一个asp.net页面,它下面有一堆图片和一个链接,每个图片实际上是下面链接的最新呈现。

    我安排了一个bat脚本,它每小时运行一次,通过iecapt一个网页渲染捕获实用程序获取图像。有一件事很恼火这个实用程序是它需要大量的时间,为20个图像,我有,为数不多,因为它错过了闪光内容,采取实际的网站截图。

    现在我想知道这个渲染是否可以通过传统编程来完成,我对使用任何实用程序都不感兴趣。我有兴趣试试这个。解决方案不一定是基于c的am,可以用任何其他语言进行尝试。因为它给了我一个学习的机会。

    谢谢您。

    5 回复  |  直到 15 年前
        1
  •  4
  •   George Lambert    15 年前

    你应该看看莫兹的无头截图

    您应该能够嵌入所需的功能。

    http://blog.mozilla.com/ted/2010/07/29/moz-headless-screenshot/

    他还提供了一个名为moz headless screenshot的示例嵌入客户端应用程序。 这是一个简单的命令行工具,它接受url、图像大小和输出文件名 生成网页的png截图。

        2
  •  1
  •   Jay Askren    15 年前

    您应该查看浏览器快照:

    http://browsershots.org/

    他们做你想做的,为许多不同的浏览器。它甚至是开源的。

        3
  •  0
  •   Borealid    15 年前

    你要做的事情没有简单的解决办法。这是因为呈现html、css和flash实际上是一个非常复杂的过程。

    如果你需要大量的代码,你可以使用gecko引擎(为firefox提供动力)或另一个开源web浏览器核心(ie dillo)将页面渲染到自定义画布上。然后将画布保存到文件中。不过,除非实现对浏览器插件的支持,否则就不会以这种方式获得flash。你可以试着用gnash之类的。祝你好运。

    我不知道有一个开源项目已经这样做了。不过,那会很整洁。如果你写了什么东西,请把它推向世界;有一个“获取这个网址的截图”工具真的很酷。

        4
  •  0
  •   seagulf    15 年前

    一种方法是使用iRobotsoft刮网器。你可以设计一个机器人每小时访问一个url,并通过capture page函数(imagefile)将整个web页面捕获为图像。

    不过,我不确定它是否会比iecapt好。

        5
  •  0
  •   dev.bv    15 年前

    我们使用了aca webthumb activex控件( http://www.acasystems.com/en/web-thumb-activex/ )非常成功地捕获Web服务器中的部分或全部网页,然后将它们写入文件,只需传入URL。它的性能足以满足我们的需要。

    我不熟悉iecapt,但这可能是你想看的东西。