2013-02-10 171 views
0

我想用JSoup刮一個網站。這個網站是動態的,每秒更新一次。我很確定它使用JQuery,它更新HTML中的一些標籤。我正在使用JSoup,但是空白的動態區域。 JSoup有什麼特別的解決這個問題?或者這是一個限制? 編輯:我打算把它放在我的網站上的Java小程序。Java-JSoup刮動態網站

回答

4

聽起來像你希望JSoup的行爲像JavaScript支持的瀏覽器。 這恐怕不行,恐怕。 JSoup是一個可以執行HTTP請求的工具,然後使用響應主體來實現一些有用的功能。

這個'有用的'是從響應中的(X)HTML文本中提取信息。 如果您想要在加載JavaScript注入的HTML頁面(=動態網頁)後繼承ajax-request的內容,則需要自己爲這些後續請求建模,並指示JSoup手動爲您執行這些請求。

1
  1. 硒的webdriver在一個真正的瀏覽器中打開頁面
  2. 地址的元素,並使用硒webdriver的API獲取其內容 - 你甚至可以調用JS代碼的頁面的上下文
  3. 解析與JSoup等。
+0

如果我使用Selenium WebDriver,如何將我的小程序放在我的網站上(如果可能)?我有一臺Linux服務器。 – 2013-02-17 20:49:41

+0

小程序?我在談論JavaScript - 這裏有一個例子: http://rostislav-matl.blogspot.cz/2011/06/moving-to-selenium-2-on-webdriver-part.html – 2013-02-25 15:52:30

0

是的HtmlUnit支持JavaScript的 基於Java的窗口瀏覽器我用了幾個報廢項目,它一直很好,有時有大的操作有點慢。它也支持代理。 http://htmlunit.sourceforge.net/