python获取指定IP国家代码信息

来源:互联网 发布:什么是宏编程鼠标 编辑:程序博客网 时间:2024/05/21 11:21

     今天在网络编程的时候发现了一个有意思的东西,可以利用http://freegeoip.net/json/ + IP的形式来查询IP来自于哪个国家,利用到 了python的urllib模块,查询之后得到的内容是一个字典,可以使用get方法很容易的获得所需要的信息,代码如下:

#!/usr/bin/python  # -*- coding: utf-8 -*-  from urllib import urlopenfrom urllib2 import HTTPErrorimport json'''功能:查询制定IPv4或者IPv6地址的国家编码'''def getCountry(ipAddress):    try:        response = urlopen("http://freegeoip.net/json/"+ipAddress).read().decode('utf-8')    except HTTPError:        print None    responseJson = json.loads(response)    print ipAddress + '  is coming from  ', responseJson.get("country_code")if __name__ == '__main__':ipAddress = ['97.32.131.205', '216.186.131.29', '116.58.205.165', '43.252.233.5', '2607:fb90:5223:c275:0:17:a6be:ca01', '162.247.124.52', '68.8.169.121', '202.53.87.74', '66.87.64.75', '213.55.95.160']for one_ip in ipAddress:getCountry(one_ip)
下面是运行结果:

97.32.131.205  is coming from   US
216.186.131.29  is coming from   US
116.58.205.165  is coming from   BD
43.252.233.5  is coming from   MY
2607:fb90:5223:c275:0:17:a6be:ca01  is coming from   US
162.247.124.52  is coming from   CA
68.8.169.121  is coming from   US
202.53.87.74  is coming from   IN
66.87.64.75  is coming from   US
213.55.95.160  is coming from   ET

0 0
原创粉丝点击