2012-07-02 162 views
1

我試圖抓取一些網站內容,使用jsoup和java組合。將相關詳細信息保存到我的數據庫中,並每天進行相同的活動。建議使用抓取網站內容

但是,這裏是處理,當我在瀏覽器中打開網站時,我得到了呈現HTML(與所有元素標籤在那裏)。當我測試它的JavaScript部分,它工作得很好(我應該用它來提取正確的數據)。

但是當我使用jsoup(從Java類)進行解析/獲取時,只有最初的網站被下載用於解析。這意味着有一些網站的動態部分,我想要獲取這些數據,但由於它們呈現後獲取,異步在網站上,我無法用jsoup捕獲它。

有沒有人知道解決這個問題的方法?我使用正確的工具箱嗎?更有經驗的人,我出價你的建議。

+0

*「抓取一些網站內容」 *,這是什麼內容的例子網址是什麼? –

+0

找到一個名爲「Fiddler」或類似的Firefox擴展的包,該擴展將顯示在頁面通過Ajax加載後需要詢問哪些信息。這將顯示頁面重新加載時傳遞的祕密URL或會話信息。 – Skizz

回答

4

您需要檢查,如果你爬需求的網站一些此列表的顯示所有內容:

  • 認證與登錄/密碼
  • 某種會話驗證的HTTP頭
  • Cookies
  • 加載所有內容的某種時間延遲(Javascript庫,CSS和異步數據可能需要這些)。
  • 特定的用戶代理瀏覽器
  • 代理密碼,例如,如果您在法人網絡安全配置中。

如果需要列表中的任何內容,您可以管理提供jsoup.connect()中的參數的數據。請參閱官方文檔。

http://jsoup.org/cookbook/input/load-document-from-url