python之獲取指定IP的地理位置詳解

2021-08-14 13:20:07 字數 1371 閱讀 6300

本來是想通過這個案例練習下正規表示式的,後來才發現有更簡單的方法, 當然是網上有很多api介面, 直接可以返回json格式的資料, 通過處理, easy搞定……

根據ip查詢所在地、運營商等資訊的一些api如下:

1. **的api(推薦):

5. ip.cn的網頁(返回的非json格式):

6. ip-api.com:

上述的api介面,大多有乙個特點是, 返回的直接是個json格式;

此處以freegeoip.net的api為例,編寫**如下:

缺點:

#!/usr/bin/env pyhton

# coding:utf-8

"""@name: re_01_ip_location.py

@author: lvah

@date:1/11/18

@connect: [email protected]

@desc:

根據api查詢ip的地理位置

"""import urllib2

import json

ipaddr = raw_input("查詢的ip:")

# 組成查詢ip地理位置的**;

url = '' % (ipaddr)

# 訪問url位址, urlobject是物件;

urlobject = urllib2.urlopen(url)

# url位址訪問後的返回值;urlcontent型別為字串;

# urlcontent = ''

# latitude: 緯度

# longitude: 經度

urlcontent = urlobject.read()

# 很明顯字串的資訊不好處理的, 那麼json模組可以幫忙的;

res = json.loads(urlcontent)

# print res

# 顯示查詢結果

print """

查詢結果如下:

ip: {}

時區: {}

所在國家: {}

所在經度: {}

所在緯度: {}

""".format(res['ip'], res['time_zone'], res['country_name'], res['latitude'], res['longitude'])

查詢的ip:123.1.2.3

查詢結果如下:

ip: 123.1.2.3

時區: asia/tokyo

所在國家: japan

所在經度: 35.1802

所在緯度: 136.9067

Python網路程式設計 獲取遠端裝置的IP位址

有時需要把裝置的主機名轉換成對應的ip位址,下面是乙個簡單的操作。1 import socket23 4def get remote machine info 定義get remote machine info 函式 5 remote host www.python.org 定義遠端裝置名稱 6tr...

python獲取繫結的IP,並動態指定出口IP

在做採集器的過程中,經常會遇到ip限制的情況,這時候可以通過切換ip能繼續訪問。如果是多ip的伺服器,那麼可以通過切換出口ip來實現。1.首先是如何獲取伺服器繫結的ip import netifaces as ni def getlocalethips for dev in ni.inte ces ...

設定指定ip和自動獲取ip

1.設定指定固定ip的bat檔案 echo off echo 開始設定 netsh inte ce ip set address name 本地連線 source static addr 192.168.1.2 mask 255.255.255.0 gateway 192.168.1.1 gwmet...