我有一个查询,获取维基百科文章中的所有链接。问题是,对于某些页面,它不返回链接。
这篇维基百科文章有很多链接。然而,我的查询:
http://en.wikipedia.org/w/api.php?titles=Maramures_County&支持= links& plnamespace = 0, pllimit = 250,格式= xml& action =查询
只返回:
<?xml version="1.0"?>
<api>
<query>
<normalized>
<n to="Maramures County" from="Maramures_County"/>
</normalized>
<pages>
<page title="Maramures County" ns="0" pageid="3625444">
<links>
<pl title="Maramureș County" ns="0"/>
</links>
</page>
</pages>
</query>
</api>
如果我对另一篇文章运行相同的查询,比如"月亮",我会得到很多结果。
http://en.wikipedia.org/w/api.php?titles=Moon&支持= links& plnamespace = 0, pllimit = 250,格式= xml& action =查询
返回<?xml version="1.0"?>
<api>
<query-continue>
<links plcontinue="19331|0|JSTOR"/>
</query-continue>
<query>
<pages>
<page title="Moon" ns="0" pageid="19331">
<links>
<pl title="3753 Cruithne" ns="0"/>
<pl title="51st state" ns="0"/><pl title="Ablation" ns="0"/>
[ ... etc, etc ...]
我做了什么错误的API或这是一个bug?
实际上,文章Maramures County
是指向Maramureș County
的重定向(注意s下面的逗号),这意味着从技术上讲,它是一篇具有指向重定向目标的单个链接的文章。
要获得链接,您可以使用实际文章的名称:
http://en.wikipedia.org/w/api.php?titles=Maramure%C8%99%20County&支持= links& plnamespace = 0, pllimit = 250,格式= xml& action =查询
也可以使用redirects
参数:
http://en.wikipedia.org/w/api.php?titles=Maramures%20County&支持= links& plnamespace = 0, pllimit = 250,格式= xml&行动= query&重定向