使用 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': '-||'}
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 页面上找到解释。
我需要从意大利语维基百科获取所有标题。我已经写了这段代码:
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': '-||'}
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 页面上找到解释。