什么是从Android应用程序刮取网页的最佳方法

时间:2012-06-02 23:08:26

标签: android

我正在研究android应用程序从html网页获取一些数据并解析它以便在应用程序中使用。 我试图使用Web-harvest,但它似乎与android完全兼容。 应用程序应该获取网页,解析它,获取所需的数据,并在应用程序中使用它。 那么在android中抓取html页面的标准和推荐方法是什么?

1 个答案:

答案 0 :(得分: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 - &gt; http://www.xom.nu

TagSoup - &gt; http://ccil.org/~cowan/XML/tagsoup/

当然,您必须捕获从网页构建XML文档的可能异常。