如何从维基百科获取具体内容?

时间:2011-01-25 21:18:52

标签: php wikipedia-api

我正在尝试制作类似个人电视指南的内容,该指南将显示H.I.M.Y.M和TBBT最后一集的标题和播出日期。

作为此信息的资源,我决定使用维基百科。我知道维基百科有它自己的API,我一直在浏览文档很长一段时间,但它真的很广泛,我不知道从哪里开始。到目前为止,我已经到了我要查询此URL的地步:

http://en.wikipedia.org/w/api.php?action=query&title=List_of_How_I_Met_Your_Mother_episodes&prop=info&format=dbg

并收到以下数组:

array (
  'query' => 
  array (
    'pages' => 
    array (
      6048517 => 
      array (
        'pageid' => 6048517,
        'ns' => 0,
        'title' => 'List of How I Met Your Mother episodes',
        'touched' => '2011-01-25T15:33:45Z',
        'lastrevid' => 409077359,
        'counter' => 0,
        'length' => 4417,
      ),
    ),
  ),
)

问题是我不知道如何获取我正在寻找的实际数据:/ 也许有人在维基百科API上有更多的表现,可以以某种方式帮助我解决这个问题。感谢

1 个答案:

答案 0 :(得分:3)

请注意,MediaWiki API仅允许访问MediaWiki类信息。维基是某种文本页面的集合。 MediaWiki软件在维基百科上存储信息的方式中没有继承语义。一切都是通过特殊的基于文本的格式化完成的。

因此,即使您在维基百科上找到关于某些内容的一般和一致信息,也不是因为该软件是这样做的,而是因为作者决定使用通用标准来显示数据。因此,要从wiki中获取实际语义,您需要自己解析信息。您可以使用MediaWiki API获取文章的精确文本表示软件存储,并从文本中解析您要查找的信息。当然,这要求您知道 特定信息通常显示的位置。当然,无法保证它会一直有效,或者对于您测试的每个页面都有效。