维基百科API只返回一小组数据?

Ort*_*eil 2 php api mediawiki wikipedia

嘿那里,我正试图从PHP脚本中使用其API(http://en.wikipedia.org/w/api.php)从维基百科文章中提取数据,但我似乎总是只得到真实的一小部分内容.例如,在尝试时:

$page=get_web_page("http://en.wikipedia.org/w/api.php?action=query&titles=Cat&prop=links&format=txt");
echo $page["content"];
Run Code Online (Sandbox Code Playgroud)

这就是我得到的:

Array ( [query] => Array ( [pages] => Array ( [6678] => Array ( [pageid] => 6678 [ns] => 0 [title] => Cat [links] => Array ( [0] => Array ( [ns] => 0 [title] => 10th edition of Systema Naturae ) [1] => Array ( [ns] => 0 [title] => 3-mercapto-3-methylbutan-1-ol ) [2] => Array ( [ns] => 0 [title] => Abyssinian (cat) ) [3] => Array ( [ns] => 0 [title] => Actinidia polygama ) [4] => Array ( [ns] => 0 [title] => Adaptive radiation ) [5] => Array ( [ns] => 0 [title] => African Wildcat ) [6] => Array ( [ns] => 0 [title] => African wildcat ) [7] => Array ( [ns] => 0 [title] => Afro-Asiatic languages ) [8] => Array ( [ns] => 0 [title] => Age of Discovery ) [9] => Array ( [ns] => 0 [title] => Agouti signalling peptide ) ) ) ) ) [query-continue] => Array ( [links] => Array ( [plcontinue] => 6678|0|Albino ) ) ) 
Run Code Online (Sandbox Code Playgroud)

我正在请求"猫"文章的完整链接列表,但我似乎只按字母顺序获得前10个.无论我选择哪种格式,甚至来自API本身,都会发生这种情况(请参阅http://en.wikipedia.org/w/api.php?action=query&titles=Cat&prop=links).造成这种限制的原因是什么,我该如何解决?

lon*_*day 6

如果查看API手册,您会看到有一个pllimit选项,它指定您希望发送的链接数.如果您有一个机器人帐户,您可以同时获得500或5000.

您将在数据转储结束时看到您提供了以下内容:[plcontinue] => 6678|0|Albino ).您可以将此信息提供给服务器,并从该点开始从页面返回更多链接.所以你下一个查询就是

$page=get_web_page("http://en.wikipedia.org/w/api.php?action=query&titles=Cat&prop=links&format=txt&plcontinue=6678|0|Albino");
Run Code Online (Sandbox Code Playgroud)

您需要继续执行此操作,直到服务器未返回plcontinue值.