0

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

4

1 回答 1

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 文档时,您必须捕获可能的异常。

于 2012-06-02T23:35:11.273 回答