Поиск страницы в Википедии по ее NRHP refnum - PullRequest
1 голос
/ 27 сентября 2011

У меня есть приложение, которое ведет таблицу мест, зарегистрированных в Национальном реестре исторических мест.Я хотел бы надежно найти одно из этих мест в Википедии, учитывая его NRHP refnum.

Поиск, который я сейчас использую, теперь выглядит следующим образом:

http://en.wikipedia.org/w/index.php?title=Special:Search&search=refnum+66000539

(я использую Python в качестве языка, но я неЯ не думаю, что здесь это особенно актуально. Я создаю URL, делаю urlfetch и смотрю, что получится.)

Но этот пример и многие другие не дают результатов.Тем не менее, когда я захожу на страницу Википедии для мэрии Нью-Йорка:

http://en.wikipedia.org/wiki/New_York_City_Hall

Это точно дает точное значение refnum на странице.Как я могу построить поиск, используя refnum, который я уже знаю, чтобы я мог надежно найти эту страницу?

Ответы [ 2 ]

2 голосов
/ 19 июля 2014

Вы можете использовать Wikidata для этого. Свойство для NRHP составляет P649 . Поскольку запросы еще не реализованы, используйте инструмент для wmflabs . Чтобы получить то, что вы хотите, это работает:

http://wdq.wmflabs.org/api?q=STRING[649:"66000539"]

Что возвращает: {"status":{"error":"OK","items":1,"querytime":"6.354ms","parsed_query":"STRING[649:'66000539']"},"items":[1065206]} Важной частью здесь являются «элементы», которые являются идентификатором объекта в Викиданных. Используйте это, чтобы получить ссылку на Википедию. Если вы хотите англоязычную версию, это работает:

http://wikidata.org/w/api.php?action=wbgetentities&format=json&ids=Q1065206&props=sitelinks%2Furls&sitefilter=enwiki

Что возвращает: {"entities":{"Q1065206":{"id":"Q1065206","type":"item","sitelinks":{"enwiki":{"site":"enwiki","title":"New York City Hall","url":"//en.wikipedia.org/wiki/New_York_City_Hall","badges":[]}}}},"success":1}

..

1 голос
/ 27 сентября 2011

Кажется, что нет способа найти статью, основанную на refnum.

Что вы можете сделать, это использовать API , чтобы получить все статьи в Категория: Национальный реестр исторических мест и для каждого из них анализируют первый раздел, чтобы получить ренум.

Или вы можете попробовать задать вопрос по адресу Wikipedia: WikiProject Национальный реестр исторических мест .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...