2016-01-06 116 views
0

我該如何使用動態內容加載網站,比如forbes.com文章,但是在apache http客戶端中沒有使用網絡驅動程序(速度很慢)。如何通過動態內容加載來抓取網站?

我已經嘗試了獲取sitemap.xml,但他們的站點地圖只包含最新的文章,我想從非常古老的文章中獲取信息。

此外,我想要一個更通用的解決方案,並與網絡驅動程序(我現在用phantomJS使用硒)是特定於站點和緩慢。

+4

在桌面瀏覽器中加載所需的頁面,查看開發人員工具的網絡選項卡,查看從中加載的實際內容的位置。很多時候,這樣的動態JavaScript網站會從某個URL加載其內容,例如以Json格式。然後,您需要做的就是弄清楚如何從自己的代碼中加載來自相同URL的數據。 – JonasCz

+0

[headless internet browser?]可能的重複(http://stackoverflow.com/questions/814757/headless-internet-browser) – Stephan

+0

@Stephan我不認爲它是重複的,因爲我明確提到我正在尋找與使用帶有無頭瀏覽器的網絡驅動程序不同的解決方案。 –

回答

0

我建議你試試這個工具ui4j。它是使用無頭模式的JavaFx WebKit引擎的封裝。它可以幫助你加快速度。

+0

ui4j有一個主要缺點:它使用JavaFX集成的webkit引擎,並且此引擎與某些網頁不兼容,尤其是涉及JavaScript和CSS時。 – Robert