代码之家  ›  专栏  ›  技术社区  ›  Mark

地理位置的维基百科API

  •  30
  • Mark  · 技术社区  · 14 年前

    是否可以使用现有的维基百科API获取地理位置周围的文章列表?有点像谷歌地图是怎么做到的?

    我想说我在“这里”,在维基百科上找到我周围的一切。

    我可以在诸如 this 您可以看到右侧的“坐标”,所以我想查询这些坐标…

    有什么想法吗?

    8 回复  |  直到 14 年前
        1
  •  15
  •   David Xia    14 年前

    不要重新发明轮子,使用 DBpedia .
    带有“lat”和“lon”数据的示例页 extracted .
    可以通过查询 SPARQL .

        2
  •  18
  •   ZJR    8 年前

    更新的答案 :
    Wikilocation 已经退休,现在 OFFICIAL WIKIPEDIA API

    ? action=query
    & list=geosearch
    & gsradius=<radius-in-meters>
    & gscoord=<lat>|<lon>
    

    HTML example γ JSON Example

        3
  •  10
  •   xidew    13 年前

    看看 Wikilocation ,可能有用。

        4
  •  8
  •   Ainali smalinux    10 年前

    这是现在通过特别的:附近的维基百科建成的。

    https://en.wikipedia.org/wiki/Special:Nearby

        5
  •  5
  •   Philipp    14 年前

    似乎没有维基百科的API,但是 this Wikipedia page 描述其他人如何使用此信息:

    所有坐标可用于 在维基百科数据库转储中下载。 从XML获取坐标 所有项目的格式转储 (enwiki-latest-pages-articles.xml.bz2,网址: 4 GB),需要分析转储 包含中坐标的页面 上面列出的条目格式。大多数 维基百科中的文章符合这些 格式和坐标很容易 从维基文本中用正则 简单字符表达式 序列。所有坐标都链接到 同样的PHP工具,它们也可能 从的SQL格式表中找到 外部链接 (enwiki-latest-externallinks.sql.gz, 725兆)。第二种方法将 但不包括所有可用的 关于坐标的信息, 比如他们之间的位置 文章正文和标题区。

        6
  •  4
  •   gevorg Dathan    9 年前

    解决方案jquery和地名api:

    A,B=经度,纬度,tweet->html div

    function getcontent(a,b) {
        jQuery(function($) {
            $.getJSON('http://api.geonames.org/findNearbyWikipediaJSON?formatted=true&lat='+ a +'&lng='+ b +'&username=username&style=full&lang=de&wikipediaUrl&thumbnailImg', function(json) {
                for(var i = 0; i < json.geonames.length; i++) {
                    $("#tweet").prepend('<span style="font-family: geneva, arial, helvetica, sans-serif;"><br><br><img src="wikilogo.gif"><br>' + json.geonames[i].summary + '<br><a href="http://'+ json.geonames[i].wikipediaUrl +'" target="_blank">'+ json.geonames[i].wikipediaUrl +'</a><br></span>');
                }
            }); 
        }); 
    }
    
        7
  •  1
  •   j0k gauthamp    12 年前

    dbpedia和sparql不是很好的选择,至少对德国维基百科来说不是:覆盖范围太小。

    我现在正试图自己解析所有不同的地理坐标格式(从转储文件中),但这非常困难,因为有很多不同的变体。

        8
  •  1
  •   Dale K    6 年前

    我知道,这是一个老问题,但下面是类似查询的URL格式:

    https://en.wikipedia.org/w/api.php?action=query&list=geosearch&format=json&gscoord=40.418670|-3.699389&gsradius=10000&gslimit=10

    之后 &gscoord= 你应该把坐标分开 | ,之后 &gsradius= 搜索半径以米为单位,gslimit是响应的最大条目数。

    响应包含JSON。