2

以编程方式拍摄网页快照的最佳解决方案是什么?

情况是这样的:我想抓取一堆网页并定期拍摄它们的缩略图快照,比如每隔几个月一次,而不必手动访问每个网页。我还希望能够为可能完全是 Flash/Flex 的网站拍摄 jpg/png 快照,所以我必须等到它加载后才能以某种方式拍摄快照。

如果我可以生成的缩略图数量没有限制(在合理范围内,比如每天 1000 个),那就太好了。

任何想法如何在Ruby中做到这一点?似乎相当艰难。

执行此操作的浏览器:Safari 或 Firefox,最好是 Safari。

非常感谢。

4

5 回答 5

4

这实际上取决于您的操作系统。您需要的是一种连接到网络浏览器并将其保存到图像的方法。

如果你在 Mac 上——我想你最好的选择是使用MacRuby(或RubyCocoa——尽管我相信这在不久的将来会被弃用),然后使用 WebKit 框架来加载页面并呈现它作为图像。

这绝对是可能的,灵感你不妨看看狗仔队!webkit2png项目。

另一个不依赖于操作系统的选项可能是使用BrowserShots API

于 2009-10-27T18:55:10.340 回答
3

Ruby 中没有用于呈现网页的内置库。

于 2009-10-27T19:04:38.557 回答
1

正如...所看到的那样,即?火狐?歌剧?无数的 webkit 引擎之一?

如果有可能自动化http://browsershots.org :)

于 2009-10-27T18:50:23.017 回答
1

使用 selenium-rc,它带有快照功能。

于 2009-10-27T18:57:26.653 回答
0

使用 jruby,您可以使用 SWT 的浏览器库。

于 2009-10-27T19:18:53.957 回答