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



所以维基百科的随机文章功能提供了一篇随机文章,我也可以使用RandomInCategory并指定我想要的类别,这正是我所需要的。

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

  • 只获取文章的文本,没有图片/链接/表格等
  • 忽略某些部分(参考文献、知名人士等(
  • 文章应该有英语(命名空间已经满足了这一要求(和另一种语言,例如法语
  • 能够指定一个或多个类别

为了做到这一点,我考虑过使用HTML解析器,也许可以使用Ids/Classes/Headers,但我不确定这是否100%准确
维基百科的API能以某种方式做到这一点吗

谢谢!


我发现了这个https://en.wikipedia.org/w/api.php?format=json&action=查询&generator=随机&grnnamespace=0&prop=修订&rvprop=内容&grnlimit=10在另一个SO问题中,它很有趣,这里可以添加一个类别条件吗?

您可以使用Special:RandomInCategory(没有API等效程序(。请注意,它并不是真正随机的(不是均匀分布(。除此之外(以及命名空间(,没有办法添加其他条件。

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

最新更新