传递维基百科 API 的“继续”内容给我一个 badcontinue 错误

我正在尝试构建一个循环,为我提供一个类别的所有 pageid。因此,我尝试按预期使用“continue”参数。

这是第一个正在工作的查询的初始化:

import requests
URL = "https://fr.wikipedia.org/w/api.php"

PARAMS_FRANCE = {
        "action": "query","cmtitle": 'Catégorie:Portail:France/Articles liés',"list": "categorymembers","cmlimit": 500,"format": "json"
}

R = S.get(url=URL,params=PARAMS_FRANCE)
DATA = R.json()
PAGES_FRANCE = DATA['query']['categorymembers']
idx_continue = DATA['continue']

但是,当它进入循环时:

while('continue' in DATA):
    PARAMS_FRANCE = {
        "action": "query","continue": idx_continue,"format": "json"
    }

    R = S.get(url=URL,params=PARAMS_FRANCE)
    DATA = R.json()
    PAGES_FRANCE = DATA['query']['categorymembers']
    idx_continue = DATA['continue']

当我打印 DATA 时它返回以下错误:

{
   "error":{
      "code":"badcontinue","info":"Invalid continue param. You should pass the original value returned by the previous query.","*":"See https://fr.wikipedia.org/w/api.php for API usage. Subscribe to the mediawiki-api-announce mailing list at <https://lists.wikimedia.org/mailman/listinfo/mediawiki-api-announce> for notice of API deprecations and breaking changes."
   },"servedby":"mw1390"
}

除了我提供了 continue 的所有内容之外,还有什么问题?

谢谢

yizhufu10 回答:传递维基百科 API 的“继续”内容给我一个 badcontinue 错误

使用延续参数的正确方法是将它们与原始参数合并(即PARAMS_FRANCE.update(DATA['continue']))。

本文链接:https://www.f2er.com/561453.html

大家都在问