[英]How to Programmatically take Snapshot of Crawled Webpages (in Ruby)?
以編程方式拍攝網頁快照的最佳解決方案是什么?
情況是這樣的:我想抓住一堆網頁並定期拍攝它們的縮略圖,比如每隔幾個月說一次,而不必手動去每一個。 我還希望能夠獲取可能完全是Flash / Flex的網站的jpg / png快照,所以我必須等到加載它以某種方式拍攝快照。
如果對我可以生成的縮略圖數量沒有限制(在合理范圍內,比方說每天1000),那就太好了。
任何想法如何在Ruby中做到這一點? 看起來非常艱難。
瀏覽器要執行此操作:Safari或Firefox,最好是Safari。
非常感謝。
這實際上取決於您的操作系統。 您需要的是一種掛鈎到Web瀏覽器並將其保存到圖像的方法。
如果你是一個Mac上-我會想象你最好的選擇是使用MacRuby的 (或RubyCocoa -雖然我相信這會在不久的將來被棄用),然后使用WebKit框架加載的頁面並使其作為一個形象。
這絕對是可能的,你可能希望看看狗仔隊的靈感! 和webkit2png項目。
另一個不依賴於操作系統的選項可能是使用BrowserShots API 。
Ruby中沒有用於呈現網頁的內置庫。
使用Selenium和Ruby是一種可能性。 您可以將Firefox作為無頭瀏覽器運行(即在服務器上)。
這是瀏覽器鏡頭的源代碼。 http://sourceforge.net/projects/browsershots/files/
如果您使用的是Linux,可以使用http://khtml2png.sourceforge.net/並通過Ruby編寫腳本。
一些付費服務嘗試和自動化
正如...所見? 火狐? 歌劇? 無數的webkit引擎之一?
如果只有它可以自動化http://browsershots.org :)
使用selenium-rc,它帶有快照功能。
使用jruby,您可以使用SWT的瀏覽器庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.