传递维基百科 API 的 "continue" 内容给我一个 badcontinue 错误
Passing the "continue" content of the wikipedia API gives me a badcontinue error
我正在尝试构建一个循环,为我提供某个类别的所有页面 ID。因此,我正在尝试按预期使用“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",
"cmtitle": 'Catégorie:Portail:France/Articles liés',
"list": "categorymembers",
"cmlimit": 500,
"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']
它 returns 我在打印 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&gt; for notice of API deprecations and breaking changes."
},
"servedby":"mw1390"
}
除了我给出了 continue
的所有内容,所以可能是什么问题?
谢谢
延续参数的正确使用方法是将它们与原始参数合并(即PARAMS_FRANCE.update(DATA['continue'])
)。
我正在尝试构建一个循环,为我提供某个类别的所有页面 ID。因此,我正在尝试按预期使用“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",
"cmtitle": 'Catégorie:Portail:France/Articles liés',
"list": "categorymembers",
"cmlimit": 500,
"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']
它 returns 我在打印 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&gt; for notice of API deprecations and breaking changes."
},
"servedby":"mw1390"
}
除了我给出了 continue
的所有内容,所以可能是什么问题?
谢谢
延续参数的正确使用方法是将它们与原始参数合并(即PARAMS_FRANCE.update(DATA['continue'])
)。