Pythonでユーザーの場所を取得したい。グーグルがそれを行うことができるので、これは何らかの形で可能であると思います(https://maps.google.com/ D-Padの下の円を押します)。
誰も方法を知っていますか?
Pythonでユーザーの場所を取得したい。グーグルがそれを行うことができるので、これは何らかの形で可能であると思います(https://maps.google.com/ D-Padの下の円を押します)。
誰も方法を知っていますか?
自分で所有したい場合は、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)