2016-01-25 5 views
-1

У меня есть список названий компаний. Я хочу сделать это, чтобы получить их сайты по названиям компаний. Предположим, мы хотим захватить «Веб-сайт» с страницы Microsoft Wikipedia.Как получить URL из Википедии API?

image

Запрос ниже не возвращает эту информацию

https://en.wikipedia.org/w/api.php?action=query&prop=extracts|info&format=json&titles=microsoft

Любые предложения, чтобы получить только поле веб-сайт?

ответ

2

Это не так просто сделать с Wikipedia API, потому что формат url на главной странице может быть различным, и ссылка может быть вложена во множество шаблонов и, вероятно, придется использовать регулярное выражение. Лучшим вариантом является использование Wikidata API.

Так, статья Microsoft в Википедии связана с викиданным пунктом Microsoft (Q2283), который имеет свойство official website (P856), что означает, что вам нужно, чтобы получить это свойство от ответа этого запроса:

https://www.wikidata.org/w/api.php?action=wbgetentities&format=json&sites=enwiki&languages=en&props=claims&titles=Microsoft 

завещанию возвращается непосредственно URL-адрес официального сайта:

{ 
    .... 
    "P856":[{ 
     "mainsnak":{ 
      "datavalue":{ 
       "value":"https://www.microsoft.com" 
      }, 
     }, 
    }] 
    .... 
} 

Если вам нужен список всех элементов викиданных, которые имеют свойство P856 и P1128 (employees), а также включает в себя ссылку на английском языке Wikipedi a, вы можете использовать WikidataQuery API:

http://wdq.wmflabs.org/api?q=claim[1128] AND claim[856] AND link[enwiki] 
Смежные вопросы