我正在开发一个 Android 应用程序,它从 Wikia 页面提取信息并将其显示在应用程序中。我目前正在拉动所有类别进行导航,并将我的应用程序设置为在 WebView 中显示页面,但我只想拉动信息并自行格式化,而不是通过传递到 WebView 来降低它的价格。
我用来获取文本的是:
我的问题是文本返回一大堆,有没有人有任何想法如何使其更格式化,以便我可以从标签解析,或者我是在浪费时间试图找到它?如果是这样,最好找到一种方法通过从提取的文本中的标识符来解析我需要的文本,或者有更好的方法吗?
感谢您的投入和时间。
如果您不想自己解析 wiki 标记,最简单的方法是检索页面的已解析 HTML 版本,然后使用 HTML 解析器对其进行处理(例如jsoup http://jsoup.org/,如 Hasham 所推荐)。
除了抓取正常的 wiki 用户界面(这将为您提供包含在导航皮肤中的页面 HTML)之外,还有两种方法获取 MediaWiki 页面的 HTML 文本:
-
使用 API 与action=parse http://www.mediawiki.org/wiki/API%3aParsing_wikitext#parse,它将返回包装在 MediaWiki API XML(或 JSON / YAML / 等)响应中的页面 HTML,如下所示:
-
或使用主index.php
脚本与action=render http://www.mediawiki.org/wiki/Action#Actions,这将返回just页面 HTML:
诗。既然您提到了问题中的各个部分,请让我注意action=parse
API 模块可以使用以下命令返回有关页面上各部分的信息prop=sections
(甚至prop=sections|text
)。有关示例,请参阅此 API 查询:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)