0

我有一个查询,可以获取 Wikipedia 文章中的所有链接。问题是对于某些页面,它没有返回链接。

这篇维基百科文章有很多链接。但是,我的查询:

http://en.wikipedia.org/w/api.php?titles=Maramures_County&prop=links&plnamespace=0&pllimit=250&format=xml&action=query

仅退货:

<?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>

如果我对另一篇文章(例如“Moon”)运行相同的查询,我会得到很多结果。

http://en.wikipedia.org/w/api.php?titles=Moon&prop=links&plnamespace=0&pllimit=250&format=xml&action=query

退货

<?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 做错了什么还是这是一个错误?

4

1 回答 1

5

实际上,这篇文章Maramures County是一个重定向到Maramureș County(注意 s 下面的逗号),这意味着它在技术上是一个带有指向重定向目标的单个链接的文章

要获取链接,您可以使用实际文章的名称:

http://en.wikipedia.org/w/api.php?titles=Maramure%C8%99%20County&prop=links&plnamespace=0&pllimit=250&format=xml&action=query

或者您可以使用以下redirects参数:

http://en.wikipedia.org/w/api.php?titles=Maramures%20County&prop=links&plnamespace=0&pllimit=250&format=xml&action=query&redirects

于 2013-05-16T12:35:29.193 回答