Получить простой текст из Википедии API по разделам - PullRequest
0 голосов
/ 04 апреля 2019

Я пытаюсь получить простой (без html / css / специальных символов / символов, таких как \ n / links / images) текст раздела, используя API-интерфейс wikipedia.Я пытаюсь сделать это с помощью этого кода

import requests

API_URL = 'http://en.wikipedia.org/w/api.php'

def get_section(page, section):
    search_params = {
        'action': 'parse',
        'prop': 'text',
        'pageid': page,
        'section': section,
        'format': 'json'
    }

    response = requests.get(API_URL, params=search_params)

    return response.json()

text = get_section(23862, 2)
print(text['parse']['text']['*']).strip()

Возвращает эту ошибку

UnicodeEncodeError: 'charmap' codec can't encode character '\u2014' in position 5722: character maps to <undefined>

Мне нужно получить разделы статьи, такие как вступление статьи, используя exintro параметр

https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro&explaintext&pageids=23862

Возвращает простой текст.Именно то, что мне нужно

1 Ответ

0 голосов
/ 06 мая 2019

Я бы предложил использовать Pywikibot для этого.Есть хороший удобный скрипт pywikibot / data / api.py, который вы можете легко использовать.Начните здесь: https://www.mediawiki.org/wiki/Manual:Pywikibot/Create_your_own_script, а затем посмотрите на api.py, какие опции для получения желаемых результатов доступны.

...