1

我有一个应用程序,它维护在国家历史名胜登记处注册的地方表。鉴于其 NRHP ,我想可靠地搜索维基百科中的这些地方之一refnum

我现在使用的搜索看起来像这样:

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

(我使用 Python 作为我的语言,但我认为这在这里并不特别相关。我构造 url,执行 a urlfetch,然后看看会返回什么。)

但是这个例子和许多其他例子都没有结果。但是,当我访问纽约市政厅的维基百科页面时:

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

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

4

2 回答 2

2

您可以为此使用 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]}这里的基本部分是“项目”,它是 Wikidata 中对象的 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}

..

于 2014-07-19T13:28:37.167 回答
1

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

您可以做的是使用API获取Category:National Register of Historic Places中的所有文章,并为每个文章解析第一部分以获取 renum。

或者您可以尝试在Wikipedia:WikiProject National Register of Historic Places 中询问。

于 2011-09-27T12:16:20.780 回答