2012-06-02 34 views
0

我正在android應用程序從html網頁獲取一些數據,並解析它在應用程序中使用。 我試圖使用Web收穫,但它似乎不完全兼容Android。 應用程序應獲取網頁,解析它,獲取所需的數據,並在應用程序中使用它。 所以最新的標準和推薦的方式來刮在Android的HTML頁面?什麼是從android應用程序刮網頁的最佳方式

回答

1

我一直很高興使用TagSoup和XOM解析Android上的網頁。隨着雙方在類路徑中,你會做這樣的事情:

XMLReader tagsoup = XMLReaderFactory.createXMLReader("org.ccil.cowan.tagsoup.Parser"); 
Builder bob = new Builder(tagsoup); 
Document html = bob.build("http://www.yahoo.com"); 
Nodes images = html.query("//img"); 

for (int index = 0; index < images.size(); index++) { 
    Element image = (Element) images.get(index); 
    String src = image.getAttribute("src").getValue(); 
    // do something with it... 
} 

如果你刮HTML有一個命名空間,你會做以下代替:

XPathContext context = new XPathContext("html", "http://www.w3.org/1999/xhtml"); 
Nodes images = html.query("//html:img", context); 

鏈接:

XOM - >http://www.xom.nu

TagSoup - >http://ccil.org/~cowan/XML/tagsoup/

當然,您必須捕獲從Web頁面構建XML文檔時可能出現的異常。

相關問題