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