2011-10-29 37 views
2

我抓住了一些来自wikipedia API的图像元数据,但注意到文本可能被截断。如何使用wikipedia API获得完整图像评论?

在此页面: http://en.wikipedia.org/w/api.php?action=query&prop=imageinfo&iiprop=comment&format=xml&titles=File:BrolinFoxFassbenderJonahHexJuly09.jpg

我只看到:

{{OTRS pending|year=2009|month=August|day=16}} {{Information |Description={{en|Josh Brolin, Megan Fox, and Michael Fassbender promoting the 2010 film ''Jonah Hex'' at San Diego Comic-Con.}} |Source= http://www.flickr.com/photos/sdnatasha/3767292285/ |Date=

如果我看一下该文件的真实数据: http://commons.wikimedia.org/wiki/Special:Export/File:BrolinFoxFassbenderJonahHexJuly09.jpg

我看到完整的信息:

== {{int:filedesc}} =={{Information|Description={{en|Josh Brolin, Megan Fox, and Michael Fassbender promoting the 2010 film ''Jonah Hex'' at San Diego Comic-Con.}}|Source= http://www.flickr.com/photos/sdnatasha/3767292285/|Date=2009-07-28|Author=NatashaBaucas at http://www.flickr.com/photos/sdnatasha/|Permission=Creative Commons Attribution|other_versions=}}{{Location dec|32.705573|-117.160391|}}== {{int:license}} =={{self|cc-by-2.0|author=Natasha Baucas}}{{PermissionOTRS|ticket= https://ticket.wikimedia.org/otrs/index.pl?Action=AgentTicketZoom&TicketID=3519937}}[[Category:MeganFox in 2009]][[Category:Josh Brolin]][[Category:Michael Fassbender]][[Category:2009 Comic-Con International]][[Category:Images uploaded by User:Nehrams2020]

我可以使用维基百科api获取未被截断的评论吗?

回答

3

你用iiprop=comment得到的注释是“文件历史记录”表中显示的文本的短小位,并且它们被截断为255字节的原因是因为这就是它们如何存储在数据库中的开始。

相反,您需要的是文件描述页面的内容,您可以使用与获取任何页面内容相同的方式:rvprop=content

(为什么它混淆这样的原因是因为默认链接到MediaWiki上传界面是一种奇怪的,图像的评论是真的意思是类似于编辑总结简短说明,但是当你第一次上传新的图片,您输入的文字使用均为为页面内容和图片评论如果太长时间无法在—中发表评论—评论被默默截断,但全文仍然存在进入页面的内容,我想有人认为当界面第一次写入时有意义;当时的图像描述往往要短得多。)

+0

它看起来像我必须使用commons api,所以en.wikipedia.org有直接访问公共维基百科数据库的数据库?所以我需要提前知道图像的来源(commons或en)? http://commons.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=xml&titles=File:BrolinFoxFassbenderJonahHexJuly09.jpg –

+0

是的。如果你[也在做'imageinfo'查询](http://en.wikipedia.org/w/api.php?action=query&prop=revisions|imageinfo&rvprop=content&format=xml&titles=File:BrolinFoxFassbenderJonahHexJuly09.jpg),你'看到'imagerepository =“共享”'为共同性图像。或者你可以假设任何丢失的图像可能在Commons并在那里检查。 –