首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从维基百科获取地点图片

从维基百科获取地点图片
EN

Stack Overflow用户
提问于 2020-11-18 21:39:59
回答 1查看 46关注 0票数 0

我正在使用以下代码从维基百科api获取图片,但目前它在该关键字上给我的图像是随机的,比如如果我搜索“西班牙”,它会给我带有单词西班牙的随机图像,但我需要像我们在维基百科中得到的西班牙地方的图像。有人能帮我吗?

代码语言:javascript
复制
<form action="" method="get">
    <input type="text" name="search">
    
    <input type="submit" value="Search">
</form>

<?php
if(@$_GET['search']){
    function get_wiki_image( $search, $limit) {

  $streamContext = array(
    "ssl" => array(
          "verify_peer" => false,
          "verify_peer_name" => false,
      ),
  );

  $url = 'https://en.wikipedia.org/w/';
  $url .= '/api.php?action=query&format=json&list=allimages&aifrom=' . $search . '&ailimit=' . $limit;

  $context = stream_context_create($streamContext);

  if(FALSE === ($content = @file_get_contents($url, false,$context)) ) {
    return false;
  } else {
    $data = json_decode($content,true);
    $ret = array();
    foreach($data['query']['allimages'] as $img) {
      $ret[] = $img['url'];
    }
    return $ret;
  }

}

$search = ucwords($_GET['search']);
$images = get_wiki_image($search,500);

foreach($images as $img) {
  echo "<img src='{$img}' height='50' width='50'>";
}

}



?>
EN

回答 1

Stack Overflow用户

发布于 2020-11-19 04:49:53

您可以使用PageImages API来实现此目的。通常,它会返回文章中的第一张图片,但是,根据维基百科的配置,在某些情况下,它可能会返回不同的图片。

例如,要获取“巴塞罗那”文章的图像,请调用https://en.wikipedia.org/w/api.php?action=query&prop=pageimages&titles=Barcelona&piprop=original

如果您需要某个大小的图片,也可以调用https://en.wikipedia.org/w/api.php?action=query&prop=pageimages&titles=Barcelona&pithumbsize=250

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64894218

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档