使用MediaWiki从Wikia页面中提取文本但是它又回到了一个大混乱状态,我是否有更好的方法来从每个部分提取文本?

kik*_*elf 5 java parsing android mediawiki mediawiki-api

我正在开发一个Android应用程序,从Wikia页面提取信息并将其显示在应用程序中.我目前正在拉动所有类别进行导航并设置我的应用程序以在WebView中显示页面但我想只是拉动信息并格式化自己而不是通过传递给WebView来减少它.

我用来获取文本的是:http://scottlandminecraft.wikia.com/api.php?format = xml&action = query&titles = ZackScott&prop = latest&rvprop = content

我的问题是文本回来了一个大块,有没有人有任何想法如何让这个更加格式化,所以我可以从标签解析或我正在努力找到它的时间?如果是这样,最好找到一种方法来解析我需要的文本,方法是从文本中的标识符开始,或者有更好的方法吗?

感谢您的投入和时间.

Ilm*_*nen 11

最简单的方法,如果你不想来解析wiki标记自己,是检索页面的解析HTML版本,然后使用HTML解析器处理它(如jsoup的建议,Hasham).

除了抓取普通的wiki用户界面(它将为您提供导航皮肤中包含的页面HTML)之外,还有两种方法可以获取MediaWiki页面的HTML文本:

  1. 使用API action=parse,它将返回包含在MediaWiki API XML(或JSON/YAML /等)响应中的页面HTML,如下所示:

  2. 或使用主index.php脚本action=render,它将返回页面HTML:

PS.由于您在问题中提到了部分,因此请注意,action=parseAPI模块可以使用prop=sections(甚至prop=sections|text)返回有关页面上各部分的信息.有关示例,请参阅此API查询: