2

Pythonでユーザーの場所を取得したい。グーグルがそれを行うことができるので、これは何らかの形で可能であると思います(https://maps.google.com/ D-Padの下の円を押します)。

誰も方法を知っていますか?

4

1 に答える 1

2

自分で所有したい場合は、IP アドレスに関する情報をさまざまな形式で提供する Web サイトがあります。

http://ipinfo.io/jsonは次のようなものを提供します:

{
  "ip": "12.34.56.78",
  "hostname": "XXXXX.com",
  "city": "Saint-Lambert",
  "region": "Quebec",
  "country": "CA",
  "loc": "45.5073,-73.5082",
  "org": "AS577 Bell Canada",
  "postal": "J4P"
}

上で Joran が言ったように、これは正確ではありません。私はサンランベールではなく、モントリオールにいますが、それほど遠くありません。

urllib2.urlopen を使用して Python でそれを取得し、json モジュールを使用して dict に変換できます。

import json
import urllib2

def location_lookup():
  try:
    return json.load(urllib2.urlopen('http://ipinfo.io/json'))
  except urllib2.HTTPError:
    return False

location = location_lookup()

# print city and latitude/longitude
print location['city'] + ' (' + location['loc'] + ')'

上記の JSON 出力の場合、この Python コードは次のようになります。

Saint-Lambert (45.5073,-73.5082)
于 2016-02-14T15:47:32.340 に答える