【发布时间】:2020-10-31 16:06:12
【问题描述】:
我正在从维基百科收集一些文章(几十到几百,注意维基百科API的礼貌限制)。
所有文章都是品牌,在很多情况下,关键字可以非常通用,而不仅仅指品牌。作为回报,我会得到其他建议,例如:
阿拉可以指:
- Arla(文件系统)
- Arla(蛾),蛾属
- 阿肯色州图书馆协会
- Arla,希腊,一个村庄\n\u00c4rla,东南部的一个村庄 瑞典
- Arla Foods,斯堪的纳维亚大型生产商 ...
我想找出属于“品牌类别”的那个,但我也可以输入其他相关关键字,例如“食品或饮料”
我可以使用 Wikipedia API 获取包含某些关键字的命题吗?
问题是,当有歧义时,响应JSON的形式就像找到一篇文章一样。
检查我的脚本:
import requests
import time
result = {}
for q in spotted_keywords:
url = 'https://en.wikipedia.org/w/api.php?action=query&prop=extracts&exintro&explaintext&format=json&exintro=&titles='+q+'&redirects=true'
r = requests.get(url)
json_data = r.json()
extract = list(json_data['query']['pages'].values())[0]
if('extract' in extract):
result[q] = extract['extract']
time.sleep(1)
spotted_keywords 类似于 ["mcdonalds", "cocacola" ...]
一个回答是这样的:
{
"batchcomplete":"",
"query":{
"normalized":[
{
"from":"arla",
"to":"Arla"
}
],
"pages":{
"360264":{
"pageid":360264,
"ns":0,
"title":"Arla",
"extract":"Arla may refer to:\n\nArla (file system)\nArla (moth), a genus of moth\nArkansas Library Association\nArla, Greece, a village\n\u00c4rla, a village in south-eastern Sweden\nArla Foods, a large Scandinavian producer of dairy products\nArla (Finland), a subsidiary of Arla Foods\nArla Foods UK, a subsidiary of Arla Foods\nARLA, Arm\u00e9e r\u00e9volutionnaire de lib\u00e9ration de l'Azawad (French), Revolutionary Liberation Army of Azawad"
}
}
}
}
有什么提示吗?
【问题讨论】:
标签: python wikipedia-api