【问题标题】:Parse response from Wikipedia API解析来自 Wikipedia API 的响应
【发布时间】:2013-12-15 16:44:05
【问题描述】:

我正在尝试解析来自 Wikipedia API (MediaWiki) 的响应。我使用的 URL 格式为 -

https://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=xml&titles=Argo_(2012_film)

来自 api 的响应在 xml 标记中包含维基百科内容,如下所示:(这只是一个不完整的示例)

{{Use mdy dates|date=October 2012}} {{Infobox film | name = Argo | image = 
Argo2012Poster.jpg | alt = <!-- See: WP:ALT --> | caption = Theatrical release poster | 
tagline = "The movie was fake. The mission was real." | director = [[Ben Affleck]] | 
producer = [[Grant Heslov]]<br />Ben Affleck<br />[[George Clooney]] | based on = {{Based 
on|''The Master of Disguise''|[[Tony Mendez|Antonio J. Mendez]]}}<br />{{Based on|''The 
Great Escape''|[[Joshuah Bearman]]}} | screenplay = [[Chris Terrio]] | starring = Ben 
Affleck<br />[[Bryan Cranston]]<br />[[Alan Arkin]]<br />[[John Goodman]] | music = 
[[Alexandre Desplat]] | cinematography = [[Rodrigo Prieto]] | editing = [[William 
Goldenberg]] | studio = [[Graham King|GK Films]]<br />[[Smokehouse Pictures]] | distributor = 
[[Warner Bros.]] | released = {{Film date|2012|08|31|Telluride Film 
Festival|2012|10|12|United States}} | runtime = 120 minutes<ref> ...continued

这看起来不像 JSONXML,我该如何解析?

【问题讨论】:

  • 看起来它为您提供了该页面的维基百科代码。在有问题的页面上点击编辑,你会看到......差不多就是这样。
  • 是的,你是对的,但无论如何我可以解析这个?
  • 你想用这些数据做什么?

标签: java api wikipedia


【解决方案1】:

如果您想将内容解析为 HTML,请将 &amp;rvparse 添加到查询中。

例如当你执行查询时

https://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=xml&titles=Argo_%282012_film%29&rvparse

响应包含类似(跳过信息框后):

<i><b>Argo</b></i> is a 2012 American <a href="/wiki/Political_thriller"
title="Political thriller">political thriller</a> film directed by <a
href="/wiki/Ben_Affleck" title="Ben Affleck">Ben Affleck</a>.

【讨论】:

  • 谢谢,这应该会让事情变得更容易。
  • 如果我使用curl 获取您提到的地址,我会收到如下信息:title=&amp;quot;Political thriller&amp;quot;&amp;gt; 有没有办法在不使用浏览器的情况下以某种方式访问​​未转义的版本?
  • @hashier 响应是 XML 内的 HTML。如果您想使用它,请使用 XML 解析器。
猜你喜欢
  • 1970-01-01
  • 2020-05-20
  • 2014-01-21
  • 2017-06-14
  • 1970-01-01
  • 2015-04-03
  • 2011-04-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多