Python查询IP地址归属完整代码


Posted in Python onJune 21, 2017

本文实例为大家分享了Python查询IP地址归属的具体代码,供大家参考,具体内容如下

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#查找IP地址归属地
#writer by keery_log
#Create time:2013-10-30
#Last update:2013-10-30
#用法: python chk_ip.py www.google.com |python chk_ip.py 8.8.8.8 |python chk_ip.py ip.txt
 
import signal
import urllib
import json
import sys,os,re
import socket
 
if len(sys.argv) <= 1 :
  print "Please input ip address !"
  sys.exit(0)
 
def handler(signum, frame):
  sys.exit(0)
signal.signal(signal.SIGINT, handler)
 
url = "http://ip.taobao.com/service/getIpInfo.php?ip="
 
#查找IP地址
def ip_location(ip):
  data = urllib.urlopen(url + ip).read()
  datadict=json.loads(data)
 
  for oneinfo in datadict:
    if "code" == oneinfo:
      if datadict[oneinfo] == 0:
        return datadict["data"]["country"] + datadict["data"]["region"] + datadict["data"]["city"] + datadict["data"]["isp"]
 
#定义IP与域名正则
re_ipaddress = re.compile(r'^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$')
re_domain = re.compile(r'[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?')
 
if os.path.isfile(sys.argv[1]): #如果参数是文件,迭代查找
  file_path = sys.argv[1]
  fh = open(file_path,'r')
  for line in fh.readlines():
    if re_ipaddress.match(line):
      city_address = ip_location(line)
      print line.strip() + ":" + city_address
else:
  ip_address = sys.argv[1]
  if re_ipaddress.match(ip_address): #如果参数是单个IP地址
    city_address = ip_location(ip_address)
    print ip_address + ":" + city_address
  elif(re_domain.match(ip_address)): #如果参数是域名
    result = socket.getaddrinfo(ip_address, None)
    ip_address = result[0][4][0]
    city_address = ip_location(ip_address)
    print ip_address.strip() + ":" + city_address

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python 深入理解yield
Sep 06 Python
Python中解析JSON并同时进行自定义编码处理实例
Feb 08 Python
python使用正则表达式分析网页中的图片并进行替换的方法
Mar 26 Python
在服务器端实现无间断部署Python应用的教程
Apr 16 Python
Python使用chardet判断字符编码
May 09 Python
深入解析Python中的WSGI接口
May 11 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
Dec 10 Python
Django框架设置cookies与获取cookies操作详解
May 27 Python
python 判断linux进程,并杀死进程的实现方法
Jul 01 Python
python2和python3实现在图片上加汉字的方法
Aug 22 Python
Python 音频生成器的实现示例
Dec 24 Python
Django接收照片储存文件的实例代码
Mar 07 Python
Python批量查询域名是否被注册过
Jun 21 #Python
Python图片裁剪实例代码(如头像裁剪)
Jun 21 #Python
Python编程实战之Oracle数据库操作示例
Jun 21 #Python
Python获取SQLite查询结果表列名的方法
Jun 21 #Python
基于hashlib模块--加密(详解)
Jun 21 #Python
详谈Python基础之内置函数和递归
Jun 21 #Python
浅谈python内置变量-reversed(seq)
Jun 21 #Python
You might like
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
2007/08/26 PHP
PHP基础教程(php入门基础教程)一些code代码
2013/01/06 PHP
Windows2003下php5.4安装配置教程(Apache2.4)
2016/06/30 PHP
ppk谈JavaScript style属性
2008/10/10 Javascript
JavaScript高级程序设计阅读笔记(五) ECMAScript中的运算符(一)
2012/02/27 Javascript
表单类各种类型(文本框)失去焦点效果jquery代码
2013/04/26 Javascript
用jquery写的菜单从左往右滑动出现
2014/04/11 Javascript
jQuery表格排序组件-tablesorter使用示例
2014/05/26 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
js实现选中页面文字将其分享到新浪微博
2015/11/05 Javascript
JavaScript学习小结(7)之JS RegExp
2015/11/29 Javascript
EasyUI Combobox设置默认值 获取text的方法
2016/11/28 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
关于vue.js过渡css类名的理解(推荐)
2017/04/10 Javascript
js canvas实现擦除效果示例代码
2017/04/26 Javascript
浅谈ES6新增的数组方法和对象
2017/08/08 Javascript
jQuery图片查看插件Magnify开发详解
2017/12/25 jQuery
JavaScript实现构造json数组的方法分析
2018/08/17 Javascript
koa2实现登录注册功能的示例代码
2018/12/03 Javascript
详解关于element级联选择器数据回显问题
2019/02/20 Javascript
关于vue状态过渡transition不起作用的原因解决
2019/04/09 Javascript
JS实现li标签的删除
2019/04/12 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
python 3利用BeautifulSoup抓取div标签的方法示例
2017/05/28 Python
python3.5+tesseract+adb实现西瓜视频或头脑王者辅助答题
2018/01/17 Python
python3中获取文件当前绝对路径的两种方法
2018/04/26 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
对python 读取线的shp文件实例详解
2018/12/22 Python
python实现狄克斯特拉算法
2019/01/17 Python
python获取全国城市pm2.5、臭氧等空气质量过程解析
2019/10/12 Python
使用python实现回文数的四种方法小结
2019/11/24 Python
Jones New York官网:美国女装品牌,受白领女性欢迎
2019/11/26 全球购物
应聘美工求职信
2013/11/07 职场文书
建筑公司文秘岗位职责
2013/11/29 职场文书
2016简单的租房合同范本
2016/03/18 职场文书