【问题标题】:API for loading pictures of public figures?加载公众人物图片的API?
【发布时间】:2012-03-14 00:47:04
【问题描述】:

我正在开发一个 PHP 项目,我在其中创建了一个 more readable version of a text transcript for a judicial inquiry,而我真正想做的一件事是为每位演讲者提供照片。

其中一些是公众人物(即著名的英国法官和律师;英国政客),另一些是记者,一些是名人。

似乎 Wikipedia 是最好的选择(但是我可能错了),但是,我对 MediaWiki API 真的不熟悉。

所以,我的问题:

  1. 维基百科是完成这项任务的最佳选择吗?还是在某个地方有一个包含各种主题的爆头数据库?如果是后者,它的 API 文档在哪里?
  2. 如果是 Wikipedia,我将使用什么 API 调用来获取文章的主图像 URL?
  3. 最后,我如何将像“SIR PAUL STEPHENSON”这样的字符串翻译成它在维基百科中的列出方式,即“Paul_Stephenson_(police_officer)

请注意,我知道在 Wikipedia 上不存在照片或需要消除歧义的情况下会出现特殊情况——我很清楚我必须根据具体情况处理这些情况。

谢谢!

【问题讨论】:

  • 看到 Wikipedia 的页面标题存在巨大差异,第三个问题将无法真正解决......
  • @Jon -- 承认,但认为有任何方法可以搜索原始字符串,然后按照相关性最高的链接进行搜索?
  • 第三个可以使用搜索 api 解决。操作词 = 可以。

标签: php api mediawiki wikipedia-api mediawiki-api


【解决方案1】:

Google 图片有面部过滤器:

https://www.google.com/search?tbm=isch&q=SIR+PAUL+STEPHENSON&tbs=itp:face

我不确定你是否可以使用他们的API 来处理这类事情,但你需要阅读他们的 TOS。

【讨论】:

  • 什么。棒极了。将阅读 TOS,这比我建议的要简单一百万倍。
  • 该死,这似乎违反了 ToS。请参阅code.google.com/apis/errors 上有关自动请求的要点。不过,如果不是这样就好了!
  • @aendrew:你不能让这个过程由最终用户启动吗?如果没有,我可以想到freebase.com/view/m/0c53qnfacesaerch.com/f/sir+paul+stephenson,但我认为它不会那么简单或那么强大。
  • facesaerch 也使用 Google Image API。 “让这个过程由最终用户启动”是什么意思?认为“在页面加载时抓取四张图片然后缓存它们”是否符合条件?现在想来,确实应该可以接受。我应该申请一个 API 密钥,看看我能不能让它工作。
【解决方案2】:

您可以使用the search api 查找最有可能的文章名称。 AFAIK 虽然没有健全的 API 可以找到文章中的第一张图片(the images api 将按字母顺序返回图片,并包括来自模板的图片),所以最好的办法是解析 HTML(肖像通常是第一个大图像)或 wikitext(大多数信息框使用名为 image 的参数)。您可以使用imageinfo api从图片页面名称中获取图片URL。

总而言之,使用 Flickr 可能会更好。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多