如何按类别从维基百科中删除数据?

Тат*_*вич 5 python wikipedia

我想只使用维基百科的医学数据进行分析.我使用python进行抓取.我已经使用这个库在查询中按字搜索:

import wikipedia

import requests
import pprint
from bs4 import BeautifulSoup
wikipedia.set_lang("en")
query = raw_input()
WikiPage = wikipedia.page(title = query,auto_suggest = True)
cat = WikiPage.categories
for i in cat:
    print i
Run Code Online (Sandbox Code Playgroud)

并获得类别.

但是,我的问题反之亦然:

我想给出类别,例如:健康或医学术语,并获得所有这类文章.

我怎样才能做到这一点?

ojd*_*jdo 1

编辑:实际答案

API:Categorymembers,它记录了用法、参数,并给出了“如何检索给定类别中按标题排序的页面列表”的示例。它不会让您免于亲自浏览类别树(参见下文),但您会得到一个很好的入口点和机器可读的结果。

旧答案:相关信息

帮助:类别页面的搜索类别中的文章部分给出了非常简短的指示:

除了浏览类别层次结构之外,还可以使用搜索工具查找特定类别中的特定文章。要搜索特定类别中的文章,请在搜索框中输入 incategory:"CategoryName"。

可以添加“OR”来将一个类别的内容与另一类别的内容连接起来。例如,输入

    incategory:"Suspension bridges" OR incategory:"Bridges in New York City"
Run Code Online (Sandbox Code Playgroud)

返回属于其中一个(或两个)类别的所有页面,如下所示。

请注意,使用搜索查找类别将找不到已使用模板分类的文章。此功能也不会返回子类别中的页面。

为了解决子类别问题,可以使用Special:CategoryTree页面。但是,该页面并未指向明显的文档。所以我认为<form>必须在页面源中手动搜索这些字段才能创建编程 API。