3

我正在尝试从维基词典中获取所有西班牙语名词。我只需要标题,而不需要每个单词的含义。在其他类似的帖子之后,我尝试了这个查询:

https://en.wiktionary.org/w/api.php?action=query&list=categorymembers&cmtitle=Category:Spanish_nouns&cmprop=title

但它只返回第 10 个:

 {
    "batchcomplete": "",
    "continue": {
        "cmcontinue": "page|4142414345524f0a4142414345524f|1173240",
        "continue": "-||"
    },
    "query": {
        "categorymembers": [{
                "ns": 0,
                "title": "aaleniano"
            },
            {
                "ns": 0,
                "title": "ab."
            },
            {
                "ns": 0,
                "title": "ababa"
            },
            {
                "ns": 0,
                "title": "abab\u00e1bite"
            },
            {
                "ns": 0,
                "title": "ababol"
            },
            {
                "ns": 0,
                "title": "abac\u00e1"
            },
            {
                "ns": 0,
                "title": "abacalera"
            },
            {
                "ns": 0,
                "title": "abacalero"
            },
            {
                "ns": 0,
                "title": "abacera"
            },
            {
                "ns": 0,
                "title": "abacer\u00eda"
            }
        ]
    }
 }

我应该怎么做才能获得从 A 到 Z 的所有名词标题?

4

1 回答 1

4

您必须将 的值cmcontinue作为查询参数转发给下一个调用,在您的情况下,它将是 cmcontinue=page|4142414345524f0a4142414345524f|1173240

https://en.wiktionary.org/w/api.php?action=query&list=categorymembers&cmtitle=Category:Spanish_nouns&cmprop=title&cmcontinue=page|4142414345524f0a4142414345524f|1173240

检查api 结果

此外,从此doc中,您可以设置cmlimit=max以获得单次调用可以获得的最大结果。所以第一个电话是:

https://en.wiktionary.org/w/api.php?action=query&list=categorymembers&cmtitle=Category:Spanish_nouns&cmprop=title&cmlimit=max

然后,使用cmcontinue

https://en.wiktionary.org/w/api.php?action=query&list=categorymembers&cmtitle=Category:Spanish_nouns&cmprop=title&cmlimit=max&cmcontinue=page|41434943414c41445552410a41434943414c4144555241|4536720
于 2020-06-20T16:51:51.237 回答