如何使用Python抓取类别Wikipedia页面类别中的子类别和页面

因此,我试图在以下类别页面的类别标题下抓取所有子类别和页面:“类别:基于类的编程语言”位于:

https://en.wikipedia.org/wiki/Category:Class-based_programming_languages

我已经找到一种使用url和mediawiki API的方法:Categorymembers.这样做的方法是:

>基础:en.wikipedia.org/w/api.php?action = query& list = categorymembers& cmtitle =类别:基于类的编程语言& format = json& cmlimit = 500
>基础:en.wikipedia.org/w/api.php?action = query& list = categorymembers& cmtitle =类别:基于类的编程语言& format = json& cmlimit = 500& cmtype = subcat

但是,我找不到使用Python完成此操作的方法.有人可以帮我从这里出去吗?

这是供独立学习的,我为此花了很多时间,但似乎无法弄清楚.另外,禁止使用Beautifulsoup.感谢您的所有帮助!

解决方法:

好的,在进行了更多的研究和研究之后,我终于能够找到自己的问题的答案.使用库urllib.request和json,我以json格式导入Wikipedia url文件,并以这种方式简单地打印了其类别.这是我用来获取子类别的代码:

pages = urllib.request.urlopen("https://en.wikipedia.org/w/api.phpaction=query&list=categorymembers&cmtitle=Category:Class-based%20programming%20languages&format=json&cmlimit=500&cmtype=subcat")
data = json.load(pages)
query = data['query']
category = query['categorymembers']
for x in category:
    print (x['title'])

您可以对类别中的页面执行相同的操作.感谢Nemo尝试帮助我!

上一篇:算法 - 阶乘的除法求模 - 费马小定理


下一篇:跨域获取验证码的疑问