因此,我试图在以下类别页面的类别标题下抓取所有子类别和页面:“类别:基于类的编程语言”位于:
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尝试帮助我!