2012-08-11 66 views
0

如今許多網站都包含一些由ajax加載的內容(例如,某些視頻網站的評論)。通常我們無法抓取這些數據,而我們得到的只是一些js源代碼。所以這裏有一個問題:在我們獲得html響應並進入我們想要的最終頁面後,我們可以通過哪些方式執行javascript代碼?由ajax加載的抓取內容

我知道HtmlUnit有執行背景js的能力,但還是有一些錯誤和錯誤。還有其他工具可以幫助我嗎?

有人告訴我,我可以抓取ajax請求url,分析它的參數並再次發送請求以獲取數據。如果事情不能按照我上面提到的方式工作,任何人都可以告訴我如何提取ajax url並以正確格式發送請求?

順便說一句,如果語言是Java,這將是最好的

+0

修改瀏覽器/爲瀏覽器寫一個附加組件來爲你完成這項工作。難道... – nhahtdh 2012-08-11 13:11:17

+0

使用webkit核心獲得最終的dom樹可能在技術上是可行的,但它太難了=。=還有其他解決方案嗎? – firstprayer 2012-08-12 02:19:18

+0

我這麼認爲。你可以使用[selenium](http://docs.seleniumhq.org/)嗎? – 2014-04-17 19:10:38

回答

0

是,Netwoof可以輕鬆抓取阿賈克斯。它的API和bot構建器可以讓你在沒有代碼的情況下執行它。

0

這就是HTTP的偉大的事情,你甚至不需要Java。我用於調試AJAX的goto工具是Chrome擴展Postman。我首先查看chrome調試器中的請求並確定顯着位(url或表格編碼的參數等)

然後它可以像在郵件服務器上打開選項卡和啓動請求一樣簡單。只要它在同一個瀏覽器環境下,所有的cookies(用於認證等)也將隨之發貨。