我正在尝试使用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
它返回纯文本。正是我需要的
答案 0 :(得分:0)
我建议对这些东西使用Pywikibot。有一个易于使用的好用的pywikibot / data / api.py脚本。从这里开始:https://www.mediawiki.org/wiki/Manual:Pywikibot/Create_your_own_script,然后查看api.py,可以使用哪些选项来获得所需的结果。