2015-04-23 64 views
-4

我怎樣才能使用jsoup刪除所有的鏈接,而下載一個網頁。Jsoup - 分離所有網址,同時下載文本的頁面

我用下面的代碼,給我一個網頁

public static void Url(String urlTosearch) throws IOException { 
     URL = urlTosearch; 
     Document doc = Jsoup.connect(URL).get(); 
     String textOnly = Jsoup.parse(doc.toString()).text(); 
     Output ob = new Output(); 
     ob.Write(textOnly); 

    } 

的文本,但有什麼辦法,通過它在下載頁面

回答

0

我怎樣才能jsoup用來刪除所有的鏈接,同時下載一個網頁

您可以選擇所有a元素與href屬性和remove它代表你的頁面的DOM結構Document對象。

所以,你的代碼可以像

Document doc = Jsoup.connect(URL).get(); 
doc.select("a[href]").remove();//remove all found `<a href...>` elements from DOM 
String textOnly = doc.text();//generate text from DOM without your links 
+0

它顯示了我的錯誤:java.net.SocketTimeoutException –

+0

@AyushRajniwal這是因爲默認的超時時間爲3000毫秒(3秒),您的頁面wans't能在那個時候被降級(可能服務器超載)。在這種情況下,請考慮將此值設置爲更高,如10秒'Document doc = Jsoup.connect(URL).timeout(10000).get();'。您總是可以將超時設置爲'0',這意味着它將無限等待,但IMO最好有一些最大值,之後我們將停止等待來自服務器的數據。 – Pshemo

1

我會做一些這樣的文字,我可以分開的所有鏈接即:

public static void Url (String urlTosearch) throws IOException { 
    URL = urlTosearch; 
    Document doc = Jsoup.connect(URL).get(); 

    // Take all links in the page 
    Elements links = doc.select("a[href]"); 
    for (Element link : links) { // Iter on each links to get URL 
     String relHref = link.attr("href"); // Get relative URL 
     String absHref = link.attr("abs:href"); // Get absolute URL 
     // I let you do whatever you want with urls 
    } 

} 
相關問題