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