2012-01-08 44 views
0

我想讀取一個網站的網址和內容的HTML代碼輸出到字符串 。之後,我想搜索字符串內的網址和輸出到一個其他字符串。無論如何,我只想幫助我將html代碼的輸出轉換爲字符串。 預先感謝您。我有以下代碼。它是正確的輸出網站內容到一個字符串android代碼

URL url = new URL("http://www.example.com/"); 
URLConnection con = url.openConnection(); 
InputStream in = con.getInputStream(); 
String encoding = con.getContentEncoding(); 
encoding = encoding == null ? "UTF-8" : encoding; 
String body = IOUtils.toString(in, encoding); 
+0

但是,如果您只想獲得字符串中代碼的幫助,並且您有上面的代碼,那麼您認爲它是正確的......那麼您還想要什麼? – Nanne 2012-01-08 14:28:01

+0

上面的代碼不適用於我 – 2012-01-08 14:42:33

+0

好吧,它有什麼作用?它會產生錯誤嗎?你看到了什麼,你期待什麼? – Nanne 2012-01-08 14:53:53

回答

0

我用這竟然是非常方便的jericho parsing library。 我允許您瀏覽文檔的HTML標籤並訪問標籤屬性。 例如,讓所有的鏈接網址:(請在文檔中的確切語法)

Source source = new Source(new URL("http://..."); 
List<Element> elementList = source.getAllElements(); // loads all HTML tags in a list 
    for (Element element : elementList) { 
    if (element.getName().equals("A")) { // if <A> tag 
    String segment = element.getContent().toString(); // will give you a string "< a href=...>...</A> 
    String url = element.getAttributeValue("href"); // will return the url of the link 
    } 
} 
0

我會建議Jsoup HTML解析器:http://jsoup.org/download 你想要的.jar文件。 一旦你有了,抓住html很簡單。你可以說

String html = Jsoup.connect("http://url.com").get().html(); 

要搜索您的網址使用的東西來遍歷像一個正常的字符串(如掃描儀類,它是簡單易用)的字符串。要使用,你可以這樣做:(當然是看在API來理解這個太,但在這裏:)

Scanner in = new Scanner(html); 
String links = ""; 
while(in.hasNext()){ 
    String line = in.nextLine(); 
    if(line.contains("yoursearchingkeyword") 
     links += line.substring(line.indexOf("http"),line.indexOf("</a>") + "\n"; 
} 

的鏈接字符串將有你的鏈接,你在那裏。

相關問題