使用 python 从维基百科获取所有标题

Get all titles from Wikipedia with python

我需要从意大利语维基百科获取所有标题。我已经写了这段代码:

import requests
  
 S = requests.Session()

    URL = "https://it.wikipedia.org/w/api.php"

    PARAMS = {
            "action": "query",
            "format": "json",
            "list": "allpages",
            "aplimit": "max",
        }
   
    R = S.get(url=URL, params=PARAMS)
    DATA = R.json()
    PAGES = DATA["query"]["allpages"]
    for page in PAGES:
        print(page['title'])

但这只会打印前 500 个标题。我怎样才能获得其余的标题?

我使用了你的请求并找到了以下内容:

>>> DATA["continue"]
{'apcontinue': "'Ndranghetista", 'continue': '-||'}

根据All pages Documentation

apcontinue: When more results are available, use this to continue.

所以要继续做下去:

full_data=[]
full_data.extend(DATA["query"]["allpages"])

while DATA["batchcomplete"] == "":
  PARAMS.update(DATA["continue"])
  R = S.get(url=URL, params=PARAMS)
  DATA = R.json()

我不确定键“batchcomplete”的停止条件。请仔细检查,因为我没有在维基百科 API 页面上找到解释。