Нахождение основной картинки страницы Википедии с Python - PullRequest
0 голосов
/ 18 января 2020

Вот код, который я использовал:

import wikipedia as wiki

page = wiki.page("Isaac Newton")
url = page.images[0]

Он не возвращает основное изображение, расположенное в верхней части страницы, а одно из других ( это , в этом случае). Как мне это исправить?

1 Ответ

1 голос
/ 18 января 2020

Попробуйте использовать запросы и json,

import requests
import json

def get_wiki_main_image(title):
    url = 'https://en.wikipedia.org/w/api.php'
    data = {
        'action' :'query',
        'format' : 'json',
        'formatversion' : 2,
        'prop' : 'pageimages|pageterms',
        'piprop' : 'original',
        'titles' : title
    }
    response = requests.get(url, data)
    json_data = json.loads(response.text)
    return json_data['query']['pages'][0]['original']['source'] if len(json_data['query']['pages']) >0 else 'Not found'
get_wiki_main_image('Isaac Newton')

Надеюсь, вам нужен этот вывод

https://upload.wikimedia.org/wikipedia/commons/3/39/GodfreyKneller-IsaacNewton-1689.jpg

...