我使用的是Wikimedia api和php。我需要得到第一个主要图像从文章和所有的文字在文章。我有它的代码,但它只需要很短的信息和很少的图片。我尝试更改了许多参数,但都不起作用。
代码如下:
function get_wiki_url($title) {
$context = stream_context_create(array(
'http' => array(
'method'=>"POST",
'content' => $reqdata = http_build_query(array(
'action' => 'opensearch',
'search' => $title,
'prop' => 'info',
'format' => 'xml',
'inprop' => 'url'
)),
'header' => implode("\r\n", array(
"Content-Length: " . strlen($reqdata),
"User-Agent: MyCuteBot/0.1",
"Connection: Close",
""
))
)));
if (false === $response = file_get_contents("http://ru.wikipedia.org/w/api.php", false, $context)) {
return false;
}
//парсим строку
$xml = simplexml_load_string($response);
return $xml->Section->Item;
}
var_dump ($pages_data = get_wiki_url("article header"));发布于 2014-08-14 05:43:40
您的查询似乎正在搜索$title (参数wikitext);如果您想要文章和主图像(我假设您想要的是action=opensearch,而不是wikitext),则需要使用action=parse --请参阅Mediawiki parse documentation。
获取Hyperloop页面的示例URL:
http://ru.wikipedia.org/w/api.php?action=parse&format=xml&page=Hyperloop文档中包含所有可用选项的详细信息。
https://stackoverflow.com/questions/25014917
复制相似问题