2012-04-07 56 views
2

我目前使用Jsoup來解析一個html。該代碼非常簡單:如何用Jsoup放棄部分網頁?

Document doc = null; 
    try{ 
     doc = Jsoup.connect(link).get();  
    } 
    catch (Exception e) { 
     //System.out.println("Some error occured."); 
     textView.setText(e.getMessage()); 
    } 

它做給我我想要的網頁,以後我可以提取我從它該網頁所需要的數據是getElementsByTag方法等。但是,我只想使用部分網頁,例如,我希望放棄<之後的所有內容! - /富 - >在我的網頁。 (實際上它在<和!之間沒有空格,但我不能在這裏輸入。)有沒有什麼方法放棄該字符串後面的網頁,並只用我想要的部分獲取新文檔?我檢查了食譜,但它似乎只處理它的結構中的網頁,所以我不太確定是否可以執行類似字符串刪除的操作。感謝您的閱讀。

回答

1

您可以使用Document doc = Jsoup.parse(html),其中HTML是頁面HTML。即採取HTML首先

Connection connect = Jsoup.connect(url); 
    Connection.Response response = connect.execute(); 
    String html = response.body(); 

然後做任何操作,你需要(標記後,如切HTML,但增加了必要的結束HTML標籤),然後

Document doc = Jsoup.parse(html) 
+0

我明白了,在這種情況下,我不應該使用doc = Jsoup.connect(link).get()獲取Document對象; ,相反,我應該首先獲取網頁,做我需要的任何內容,然後將其重新解析爲Document對象?我想知道有沒有辦法直接修改Document對象,但是還是非常感謝你的幫助。 – JLTChiu 2012-04-07 23:48:08

+1

您仍然可以獲取文檔的元素並在其上調用「remove()」。例如,將所有可移動的html放在div或跨度內的特殊ID並將其刪除。 – 2012-04-07 23:49:46