【问题标题】:Using PHP, how do I get the first paragraph of a Wikipedia article with the MediaWiki API?使用 PHP,我如何使用 MediaWiki API 获取 Wikipedia 文章的第一段?
【发布时间】:2012-02-21 16:28:35
【问题描述】:

我如何使用PHP 通过他们的 MediaWiki API 从维基百科获取任何文章的第一段?

我愿意接受所有建议。 CURLXML 很可能会派上用场。

【问题讨论】:

  • 是什么让您认为这微不足道?据我所知,API 中没有关于第一段的内容......
  • 您遇到的问题不是维基百科的问题,而是使用您得到的结果。您应该使用示例页面文本/数据创建一个新问题,询问如何仅解析第一段。

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


【解决方案1】:

您可以这样使用 API:

http://en.wikipedia.org/w/api.php?action=parse&page=Stack_overflow&format=xml&prop=text&section=0

这将返回一个具有以下结构的 xml 文件:

<?xml version="1.0"?>
<api>
  <parse title="Article Title">
    <text xml:space="preserve">Text you wanted goes here</text>
  </parse>
</api>

注意变量:page=Article_Title_Goes_Hereformat=xmlprop=text

【讨论】:

  • 有没有办法跳过所有额外的内容,只获取页面的第一个介绍段落。我似乎正在获取图像和右侧表格详细信息等
【解决方案2】:

我会使用file_get_contents('http://wikipedia.com/'.$rest_of_url)

然后只需使用字符串解析来选择所有表单

http://php.net/manual/en/function.substr.php

【讨论】:

  • 它转义了:使用字符串解析选择第一个 &lt;p&gt;&lt;/p&gt; 之间的所有内容,使用 substr
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-03
  • 2012-02-15
相关资源
最近更新 更多