为Android应用程序刮取此HTML的最佳方法是什么?

时间:2011-09-19 19:18:16

标签: java android screen-scraping web-scraping jsoup

从网页中删除以下HTML的最佳方法是什么?我想拉出Apple,Orange和Grape并将它们放入我的Android应用程序的下拉菜单中。我应该使用Jsoup,如果是这样,最好的方法是什么?我应该使用正则表达式吗?

<select name="fruit" id="fruit" >
<option value="APPLE">Apple</option>
<option value="ORANGE">Orange</option>
<option value="GRAPE">Grape</option>
</select>

3 个答案:

答案 0 :(得分:14)

取决于,但我会使用XML / HTML解析器。 Don't use regex

jsoup示例:

Document doc = Jsoup.connect(someUrl).get();
Elements options = doc.select("select#fruit option");

More on jsoup selector syntax


最好的方式?

我会使用内置的DOM parser or SAX parser。如果您要解析大型文档,SAX会更快。如果文件很小,那就没什么区别了。 More on SAX vs DOM

答案 1 :(得分:2)

对于HTML解析,您可以使用jsoup。使用非常简单,API很棒。

http://jsoup.org/

对我而言,效果很好!

编辑: 太慢了:D skyuzo的帖子很棒:)

答案 2 :(得分:1)

WebView是你的朋友:

http://developer.android.com/reference/android/webkit/WebView.html

它让你抓住html作为浏览器,然后你就可以用它来做。请注意,它没有考虑到javascript,所以我希望这是简单的HTML你没有一些ajax fetched或js生成的代码:)