有没有 API 从 wiki 页面获取图像

is there any API to get image from wiki page

我想从维基百科页面获取主要图像,我拥有创建 wiki 所用的所有维基百科实体名称 link 并从该页面获取主要图像。

我试过

https://github.com/richardasaurus/wiki-api, https://github.com/goldsmith/Wikipedia

但这并不适用于所有页面,尽管页面包含图像。

from wikiapi import WikiApi
wiki = WikiApi()
wiki = WikiApi({ 'locale' : 'es'})
def getWikiImage(entity):
    results = wiki.find(entity)
    print results
    if len(results):
        article = wiki.get_article(results[0])
        print article.image
#getWikiImage("Rudy Sarzo")
getWikiImage("Melody Gersbach")

mediawiki api 在 http://www.mediawiki.org/wiki/API:Client_code#Python 我检查过,但似乎没有帮助。

这里是如何获取维基页面的小例子,主图像应该是页面上的第一个图像。

import wikipedia

PAGES = ['New York', 'Mercury_(planet)', 'Tucana']

for page in PAGES:
    wikipage = wikipedia.page(page)
    print "Page Title: %s" % wikipage.title
    print "Page URL: %s" % wikipage.url
    print "Nr. of images on page: %d" % len(wikipage.images)
    print " - Main Image: %s" % wikipage.images[0]
    print ""

结帐Quickstart guide for Wikipedia API.

这篇returns文章主图的url,不是随机的:

import wikipedia
import requests
import json

WIKI_REQUEST = 'http://en.wikipedia.org/w/api.php?action=query&prop=pageimages&format=json&piprop=original&titles='

def get_wiki_image(search_term):
    try:
        result = wikipedia.search(search_term, results = 1)
        wikipedia.set_lang('en')
        wkpage = wikipedia.WikipediaPage(title = result[0])
        title = wkpage.title
        response  = requests.get(WIKI_REQUEST+title)
        json_data = json.loads(response.text)
        img_link = list(json_data['query']['pages'].values())[0]['original']['source']
        return img_link        
    except:
        return 0

wiki_image = get_wiki_image('Paris City')