从python那里获取Wikipedia的所有标题

发布于 2025-01-20 17:11:38 字数 488 浏览 3 评论 0原文

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

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个标题。我如何获得其余标题?

i need to get all titles from italian wikipedia. I wrote already this code:

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'])

But this only prints me the first 500 titles. How can i get the rest of the titles?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

情场扛把子 2025-01-27 17:11:38

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

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

并且按照所有页面文档

apcontinue:当有更多结果可用时,请使用它继续。

因此,要继续前进:

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()

我不确定“批处理”键上的停止条件。请仔细检查,因为我没有在Wikipedia API页面上找到说明。

I used your request and found the following:

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

And as per All pages Documentation:

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

So to keep going do:

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()

I'm not sure about the stopping condition on key "batchcomplete". Please double check as I didn't find an explanation on the wikipedia API page.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文