0

私は、HTML Webページからいくつかのデータを取得し、それを解析してアプリケーションで使用するためにAndroidアプリケーションに取り組んでいます。Web-harvest を使用しようとしましたが、android と完全に互換性がないようです。アプリケーションは、Web ページを取得して解析し、必要なデータを取得して、アプリで使用する必要があります。AndroidでHTMLページをスクレイピングするための標準的で推奨される方法は何ですか?

4

1 に答える 1

1

TagSoupとXOMを使用してAndroidでWebページを解析することに満足しています。クラスパスに両方を含めると、次のようになります。

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 に答える