2013-05-16 2 views
0

У меня есть запрос, который получает все ссылки в статье в Википедии. Проблема в том, что для некоторых страниц он не возвращает ссылку.Wikipedia API не возвращает ссылки для определенных статей

У этого Wikipedia article есть много ссылок на него. Однако мой запрос:

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> 

Если я запускаю тот же запрос для другой статьи, любит "Луна", я получаю много результатов.

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, или это ошибка?

ответ

5

На самом деле, статья Maramures County является перенаправление на Maramureș County (обратите внимание на запятую ниже сек), что означает, что это технически an article with a single link to the redirect target.

Чтобы получить ссылки, вы можете использовать либо имя фактической статьи:

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

Смежные вопросы