在我的维基百科用户页面上,我运行一个维基百科脚本,显示我的统计数据(编辑的页数,新页数,每月活动等).
我想把这些信息放在我的博客上.
是否有API可以让我做这样的事情?
我试图找出是否有维基百科api(我认为它与mediawiki有关?).
如果是这样,我想知道如何告诉维基百科给我一篇关于纽约洋基队的文章.
这个例子的REST网址是什么?
关于这个主题的所有文档看起来都相当复杂.
我对MediaWiki很新,现在我有点问题.我有一些Wiki页面的标题,我想使用api.php获取所述页面的文本,但我在API中找到的所有内容都是获取页面的Wiki内容的方法(使用wiki标记).我使用了这个HTTP请求......
/api.php?action=query&prop=revisions&rvlimit=1&rvprop=content&format=xml&titles=test
但我只需要文本内容,没有Wiki标记.MediaWiki API可以实现吗?
维基百科文章可能有Infobox模板.通过以下调用,我可以获得包含Infobox的文章的第一部分.
http://en.wikipedia.org/w/api.php?action=parse&pageid=568801§ion=0&prop=wikitext
我想要的是一个只返回Infobox数据的查询.这可能吗?
我想使用该query操作搜索Wikipedia .我正在使用这个网址:
http://en.wikipedia.org/w/api.php?action=query&format=json&list=search&srsearch=apple
这有效,但我想进入搜索的第一个结果.我怎样才能做到这一点?
注意:当只有一个结果时,该URL工作正常.我只需要标题和一些简短描述.
我想知道:有没有API或查询界面可以访问维基百科数据?
我想获得所有维基百科文章的所有标题列表.我知道有两种方法可以从维基媒体的wiki中获取内容.一个是API,另一个是数据库转储.
我不想下载wiki转储.首先,它是巨大的,其次,我对查询数据库并不是很有经验.另一方面,API的问题在于我无法找到一种只检索文章标题列表的方法,即使它需要> 4 mio请求,这可能会让我阻止任何进一步的请求.
所以我的问题是
我一直在寻找大约2个月的时间来找到一个只获得维基百科描述部分的脚本.(这是我正在建造的机器人,不适用于IRC.)也就是说,当我说的时候
/wiki bla bla bla
它将转到维基百科页面bla bla bla,获取以下内容,并将其返回到聊天室:
"Bla Bla Bla"是由Gigi D'Agostino制作的一首歌的名字.他把这首歌描述为"我写的一篇文章,思考所有谈话和谈话但没有说什么的人".着名但无意义的声乐样本取自英国乐队Stretch的歌曲"你为什么这样做"
这是我找到的最接近的,但它只获取URL:
import json
import urllib.request, urllib.parse
def google(searchfor):
  query = urllib.parse.urlencode({'q': searchfor})
  url = 'http://ajax.googleapis.com/ajax/services/search/web?v=1.0&%s' % query
  search_response = urllib.request.urlopen(url)
  search_results = search_response.read().decode("utf8")
  results = json.loads(search_results)
  data = results['responseData']
  hits = data['results']
  if len(hits) > 0:
    return hits[0]['url']
  else:
    return "No results found."
(Python 3.1)
对于我的数据集的每个概念,我存储了相应的维基百科类别.例如,请考虑以下5个概念及其相应的维基百科类别.
['Category:Lipid metabolism disorders', 'Category:Medical conditions related to obesity']['Category:Enzyme inhibitors', 'Category:Medicinal chemistry', 'Category:Metabolism']['Category:Surgery stubs', 'Category:Surgical procedures and techniques']['Category:1829 establishments in Australia', 'Category:Australian capital cities', 'Category:Metropolitan areas of Australia', 'Category:Perth, Western Australia', 'Category:Populated places established in 1829']['Category:Climate', 'Category:Climatology', 'Category:Meteorological concepts']如您所见,前三个概念属于医学领域(而其余两个术语不是医学术语).
更准确地说,我想把我的概念分为医学和非医学.但是,仅使用类别来划分概念是非常困难的.例如,尽管这两个概念enzyme inhibitor并且bypass surgery处于医学领域,但它们的类别彼此非常不同.
因此,我想知道是否有办法获得parent category类别(例如,类别enzyme inhibitor和bypass surgery属于medical父类别)
我目前正在使用pymediawiki和pywikibot.但是,我不仅限于这两个库,并且很乐意使用其他库来解决问题.
编辑
正如@IlmariKaronen所建议的,我也使用了categories of categories,我得到的结果如下(靠近的小字体 …
mediawiki-api ×10
mediawiki ×7
wikipedia ×6
api ×3
dictionary ×1
java ×1
json ×1
python ×1
python-3.x ×1
wiktionary ×1