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

问题描述 投票:0回答:3

从网页中抓取以下 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>
java android web-scraping jsoup
3个回答
14
投票

视情况而定,但我会使用 XML/HTML 解析器。 不要使用正则表达式

jsoup为例:

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

有关 jsoup 选择器语法的更多信息


最好的方法?

我会使用内置的 DOM 解析器或 SAX 解析器。如果您要解析大型文档,SAX 会更快。如果文档很小,那么没有太大区别。 有关 SAX 与 DOM 的更多信息


2
投票

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

http://jsoup.org/

对我来说效果很好!

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


1
投票

WebView 是你的朋友:

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

它让你可以像浏览器一样抓取 html,然后你就可以用它做一些事情。请注意,它没有考虑 javascript,所以我希望这是纯 html,而不是一些 ajax 获取或 js 生成的代码:)

© www.soinside.com 2019 - 2024. All rights reserved.