Я хочу извлечь все заголовки Википедии через API. Каждый ответ содержит ключ continue , который используется для получения следующего логического пакета, но после 30 запросов ключ continue начинает повторять егоозначает, что я получаю те же страницы.
Я пробовал следующий код выше и документацию Википедии https://www.mediawiki.org/wiki/API:Allpages
def get_response(self, url):
resp = requests.get(url=url)
return resp.json()
appcontinue = []
url = 'https://en.wikipedia.org/w/api.php?action=query&list=allpages&format=json&aplimit=500'
json_resp = self.get_response(url)
next_batch = json_resp["continue"]["apcontinue"]
url +='&apcontinue=' + next_batch
appcontinue.append(next_batch)
while True:
json_resp = self.get_response(url)
url = url.replace(next_batch, json_resp["continue"]["apcontinue"])
next_batch = json_resp["continue"]["apcontinue"]
appcontinue.append(next_batch)
Я ожидаю получить более 10000 уникальных продолжить ключи, так как один ответ может содержать не более 500 заголовков.В Википедии есть 5 673 237 статей на английском языке.
Фактический ответ.Я сделал более 600 запросов, и есть только 30 уникальных continue ключей.