1

我正在尝试使用 wikipedia api 获取部分的纯文本(没有 html/css/特殊字符/字符,如 \n/links/images)。我试图用这段代码做到这一点

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

它返回纯文本。正是我需要的

4

1 回答 1

1

我建议对这些东西使用 Pywikibot。有一个非常方便的 pywikibot/data/api.py 脚本,您可以轻松使用。从这里开始:https ://www.mediawiki.org/wiki/Manual: Pywikibot/Create_your_own_script 然后查看 api.py,有哪些选项可以获得您想要的结果。

于 2019-05-06T08:26:37.720 回答