2011-09-27 67 views
0

我有一个应用程序,其中保存了历史地点国家注册处中注册的地点表。鉴于其NRHP refnum,我想在维基百科中可靠地搜索这些地点之一。根据其NRHP refnum搜索维基百科页面

我目前使用现在的搜索看起来是这样的:

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

(我用Python作为我的语言,但我不认为这是特别重要在这里我构建网址,做一个urlfetch,看看回来什么。)

但是这个例子,和许多其他人,没有结果。然而,当我去了纽约市政厅的维基百科页面:

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

它清楚地给出了页面上这个确切refnum。如何使用我已经知道的refnum构建搜索,以便我可以可靠地找到该页面?

回答

0

似乎没有办法根据引用文献找到文章。

你可以做的是使用API获得Category:National Register of Historic Places中的所有文章,并为他们每个人解析第一部分以获得renum。您可以尝试询问Wikipedia:WikiProject National Register of Historic Places

+0

我也知道经度和纬度。我可以结合这些与上面的一些获得正确的页面?感谢您的指点。 – egilchri

+0

我不这么认为。没有简单的基于坐标的搜索方法。但也许有一些外部数据库可以让你做到这一点。 – svick

1

您可以使用此维基数据。 NRHP的财产是P649。由于查询尚未实现,请使用tool on 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]}这里的关键部分是“项目”,这是在维基数据对象的ID。用它来获得维基百科的链接。如果你想在英语语言版本,这个工程:

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}

..