如何从维基百科获取Infobox数据?

tom*_*mxu 18 wiki mediawiki wikipedia

如果我有一个页面的URL,我如何使用MediaWiki webservices获取右侧的信息框信息?

siz*_*nax 18

也许有点晚了,但我想要同样的事情,并没有在这里看到任何简单的解决方案,但(正如布莱恩所指出的)事实证明使用Mediawiki API与这个库并不太难:

https://github.com/siznax/wptools

用法:

>>> import wptools
>>> so = wptools.page('Stack Overflow').get_parse()
>>> so.infobox
{'alexa': '{{DecreasePositive}}',
 'author': '[[Joel Spolsky]] and [[Jeff Atwood]]',
 'caption': 'Screenshot of Stack Overflow as of February 2015',
 'commercial': 'Yes',
 'content_license': '[[Creative Commons license|CC-BY-SA]] 3.0',
 'current status': 'Online',
 'landscape': 'yes',
 'language': 'English',
 'launch date': '{{start date and age|2008|9|15}}',
 'logo': 'Stack Overflow logo.svg',
 'name': 'Stack Overflow',
 'owner': 'Stack Exchange, Inc.',
 'programming_language': '[[C Sharp (programming language)|C#]]',
 'registration': 'Optional; Uses [[OpenID]]',
 'revenue': '',
 'screenshot': 'Stack Overflow homepage.png',
 'slogan': '',
 'type': '[[:Category:Knowledge markets|Knowledge markets]]',
 'url': '{{URL|https://stackoverflow.com}}'}
Run Code Online (Sandbox Code Playgroud)

  • @HaniGotc我们做了一些改进.如果您还有问题,请告诉我们. (2认同)

Pie*_*rre 14

我只是想解析信息框,或者你想得到一些消化数据,看看DBPedia项目:http://dbpedia.org

它扫描WP中的信息框,从维基百科创建一个RDF数据库:https://github.com/dbpedia/extraction-framework/


小智 11

没有琐碎的方法可以做到这一点.您可以尝试使用获取页面内容action=raw,即http://en.wikipedia.org/w/index.php?action=raw&title=Douglas_Jardine 然后通过搜索找到信息框的开头{{Infobox.然后通过找到匹配来找到结束}},考虑到信息框本身也可以包含{{- }}{{{- }}}对.


Ter*_*nja 8

每个维基百科页面都与一个维基数据项目相关联,所有这些项目都包含来自维基百科页面信息框模板的最多参数。因此,您只需从Wikidata API访问与您的 Wikipedia 页面相关联的数据。

如何从维基数据项中获取维基百科唐纳德特朗普页面数据的示例:

https://www.wikidata.org/w/api.php?action=wbgetentities&sites=enwiki&props=claims&titles=Donald Trump
Run Code Online (Sandbox Code Playgroud)

回复将包括:出生日期和地点、图像、宗教信仰、母亲、父亲、孩子、身高、签名、官方网站等...,维基百科信息框内包含有关唐纳德特朗普的所有主要信息...