我有一个关于从我的Android应用程序解析维基百科数据的问题。我有一个脚本,可以通过阅读http://en.wikipedia.org/w/api.php?action=parse&prop=text&format=xml&page=ARTICLE_NAME
的来源(以及用format=xml
替换format=json
的JSON来下载XML。
但我能做什么' t弄清楚如何只从目录中访问某些部分。我想要的是当页面加载时,用户可以按下一个按钮,弹出窗口显示内容列表中的标题并允许为方便起见,用户只读了那篇文章。我对JSON有点不稳定但是可以做到这一点吗?或者,维基百科是否有API允许开发人员只查看某些部分网页?
谢谢!
答案 0 :(得分:9)
不幸的是,似乎the mediawiki.org documentation for parse
没有告诉你如何做到这一点。但是the documentation in the API itself可以:您可以使用section
参数。您可以使用prop=sections
获取部分列表。
所以,你可以先使用:
获取部分列表然后
获取某个部分的HTML。
答案 1 :(得分:2)
action = parse对于每个部分的解析不起作用,请考虑这个示例:
Foo is a bar<ref>really!</ref>
== References ==
<references/>
只解析第0个部分将导致红色错误消息,而解析第一个将导致空引用列表。
但是,有一个更好的解决方案:action=mobileview不仅没有此问题,而且还专门针对移动应用,并为您提供针对移动设备优化的HTML。