从网页中抓取以下 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>
视情况而定,但我会使用 XML/HTML 解析器。 不要使用正则表达式。
以jsoup为例:
Document doc = Jsoup.connect(someUrl).get();
Elements options = doc.select("select#fruit option");
我会使用内置的 DOM 解析器或 SAX 解析器。如果您要解析大型文档,SAX 会更快。如果文档很小,那么没有太大区别。 有关 SAX 与 DOM 的更多信息。
WebView 是你的朋友:
http://developer.android.com/reference/android/webkit/WebView.html
它让你可以像浏览器一样抓取 html,然后你就可以用它做一些事情。请注意,它没有考虑 javascript,所以我希望这是纯 html,而不是一些 ajax 获取或 js 生成的代码:)