【问题标题】:Fetching the right proposition for articles from Wikipedia which fall in one topic从维基百科中获取属于一个主题的文章的正确命题
【发布时间】:2020-10-31 16:06:12
【问题描述】:

我正在从维基百科收集一些文章(几十到几百,注意维基百科API的礼貌限制)。

所有文章都是品牌,在很多情况下,关键字可以非常通用,而不仅仅指品牌。作为回报,我会得到其他建议,例如:

阿拉可以指:

  1. Arla(文件系统)
  2. Arla(蛾),蛾属
  3. 阿肯色州图书馆协会
  4. Arla,希腊,一个村庄\n\u00c4rla,东南部的一个村庄 瑞典
  5. 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


    【解决方案1】:

    感谢 SO 响应 this,我知道 wikipedia 的 python 包。

    但是我只是尝试使用“Arla”关键字,它不会引发DisambiguationError。如果是响应中建议的“水星”,它确实如此。所以恐怕会漏掉很多歧义。

    【讨论】:

      【解决方案2】:

      您可以在 API 请求中添加prop=pageprops&ppprop=disambiguation 以获取有关它是否为消歧页面的信息。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-06
      • 2011-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-19
      相关资源
      最近更新 更多