我有问题,我想用我的wiki中所有页面的名称填充一个列表。我的脚本:list = allpages不能提供所有页面
$TitleList = [];
$nsList = [];
$nsURL= 'wiki/api.php?action=query&meta=siteinfo& siprop=namespaces|namespacealiases&format=json';
$nsJson = file_get_contents($nsURL);
$nsJsonD = json_decode($nsJson, true);
foreach ($nsJsonD['query']['namespaces'] as $ns)
{
if ($ns['id'] >= 0)
array_push ($nsList, $ns['id']);
}
# populate the list of all pages in each namespace
foreach ($nsList as $n)
{
$urlGET = 'wiki/api.php?action=query&list=allpages&apnamespace='.$n.'&format=json';
$json = file_get_contents($urlGET);
$json_b = json_decode($json ,true);
foreach ($json_b['query']['allpages'] as $page)
{
echo("\n".$page['title']);
array_push($TitleList, $page["title"]);
}
}
但仍有35次%的页面丢失,我可以在我的wiki访问(“随机现场”测试)。有谁知道,为什么会发生这种情况?
跟踪这种情况下'如果($ NS [” id']> = 0)' – diavolic
当连接到'apnamespace =' –