python腳本獲取IP地理位置

1、經過淘寶API接口php

接口說明:python

1. 請求接口(GET):json

http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串]api

2. 響應信息:ide

(json格式的)國家 、省(自治區或直轄市)、市(縣)、運營商url

3. 返回數據格式:code

{"code":0,"data":{"ip":"210.75.225.254","country":"\u4e2d\u56fd","area":"\u534e\u5317",orm

"region":"\u5317\u4eac\u5e02","city":"\u5317\u4eac\u5e02","county":"","isp":"\u7535\u4fe1",接口

"country_id":"86","area_id":"100000","region_id":"110000","city_id":"110000",ip

"county_id":"-1","isp_id":"100017"}}

其中code的值的含義爲,0:成功,1:失敗。

#!/usr/bin/python
#coding:utf-8
import urllib2
import json
ip=raw_input("請輸入要查詢的IP:")
apiurl = "http://ip.taobao.com/service/getIpInfo.php?ip=%s" % ip
content = urllib2.urlopen(apiurl).read()
data = json.loads(content)['data']
code = json.loads(content)['code']
if code == 0:
        print "\nIP: %s Form: %s%s%s ISP: %s\n" % (data['ip'], data['country'], data['region'], data['city'], data['isp'])
else:
        print data


2、經過ip138

#!/usr/bin/python
#coding:utf-8
import urllib2
import re
p = re.compile(r'.*<li>(.*)</li><li>(.*)</li>.*')
p_ip = re.compile(r'^(?:(?:[1-9]?[0-9]|1[0-9]{2}|2(?:[0-4][0-9]|5[0-5]))\.){3}(?:[1-9]?[0-9]|1[0-9]{2}|2(?:[0-4][0-9]|5[0-5]))$')
ip=raw_input("請輸入要查詢的IP:")
if p_ip.search(ip):
        apiurl = "http://www.ip138.com/ips138.asp?ip=%s" % ip
        content = urllib2.urlopen(apiurl).read()
        ipline=p.search(content).group()
        print  p.sub(r'\1\n\2',ipline).decode('gbk')
else:
        print "Error:請輸入正確的IP"


其實只是用來練習寫腳本而已,平時若是要查詢一個IP,直接打開百度搜索就出來了。

相關文章
相關標籤/搜索