使用API​​获取具有某些条件/限制的随机维基百科文章

时间:2018-07-30 15:54:15

标签: wikipedia wikipedia-api

因此Wikipedia的Random Article功能提供了随机文章,我也可以使用RandomInCategory并指定我想要的类别。

现在,我想获得文章中给出一些条件/限制的所有文本:

  • 仅获取文章文字,没有图片/链接/表格等...
  • 忽略某些部分(参考资料,著名人物等)
  • 该文章应以英文(名称空间已满足)和另一种语言(例如法语。
  • 能够指定类别。

我考虑过要使用HTML解析器来执行此操作,也许可以与Ids / Classes / Headers一起使用,但是我不确定这是否100%准确。
维基百科的API可以通过某种方式做到这一点吗?

谢谢!


我在另一个SO问题中发现了这个https://en.wikipedia.org/w/api.php?format=json&action=query&generator=random&grnnamespace=0&prop=revisions&rvprop=content&grnlimit=10,并且很有趣,是否可以在此处添加类别条件以及获得语言的功能?

2 个答案:

答案 0 :(得分:1)

您可以使用Special:RandomInCategory(没有等效的API)。请注意,它并不是真正随机的(不是均匀分布)。除此之外(和名称空间),无法添加更多条件。

答案 1 :(得分:0)

您可以使用Petscan获取任何特定类别(或组合)的文章列表。我不确定是否有其他功能可以自动检查其他语言文章是否存在,但是我认为Wikidata上有一些工具可以为您提供帮助。您应该能够跨过页面ID并获得其他语言的列表。至于实际的数据收集,我建议使用Python库Beautiful Soup