python实现查询IP地址所在地


Posted in Python onMarch 29, 2015

使方法一、用IP138数据库查询域名或IP地址对应的地理位置。

#-*- coding:gbk -*-
import urllib2
import re
 
try:
 while True:
  ipaddr = raw_input("Enter IP Or Domain Name:")
  if ipaddr == "" or ipaddr == 'exit':
   break
  else:
   url = "http://www.ip138.com/ips138.asp?ip=%s&action=2" % ipaddr
   u = urllib2.urlopen(url)
   s = u.read()
   #Get IP Address
   ip = re.findall(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}',s)
   print "\n****** Below Result From IP138 Database *****"
   print "IP Address:",ip[0]
   #Get IP Address Location
   result = re.findall(r'(<li>.*?</li>)',s)
   for i in result:
    print i[4:-5]
   print "*"*45
   print "\n"
 
except:
 print "Not Data Find"

方法二、本来想调用阿里的ip接口查询ip归属地。结果发现阿里的接口非常不给力,主要是不准确,不过是免费的且有地区和ISP的信息。以下是实现代码

# -*- coding: utf-8 -*-
import requests
 
def checkip(ip):
 
  URL = 'http://ip.taobao.com/service/getIpInfo.php'
  try:
    r = requests.get(URL, params=ip, timeout=3)
  except requests.RequestException as e:
    print(e)
  else:
    json_data = r.json()
    if json_data[u'code'] == 0:
      print '所在国家: ' + json_data[u'data'][u'country'].encode('utf-8')
      print '所在地区: ' + json_data[u'data'][u'area'].encode('utf-8')
      print '所在省份: ' + json_data[u'data'][u'region'].encode('utf-8')
      print '所在城市: ' + json_data[u'data'][u'city'].encode('utf-8')
      print '所属运营商:' + json_data[u'data'][u'isp'].encode('utf-8')
    else:
      print '查询失败,请稍后再试!'
 
ip={'ip': '202.102.193.68'}
checkip(ip)

python实现查询IP地址所在地

但是多次查询发现ip归属地不准确,于是使用17mon的ip查询接口。但是17mon分付费和免费的库接口,我用的免费的测试,接口返回的字段有限,只有国家、省份、城市。代码如下

# -*- coding: utf-8 -*-
import requests
 
def lookup(ip):
 
  URL = 'http://freeipapi.17mon.cn/' + ip
  try:
    r = requests.get(URL, timeout=3)
  except requests.RequestException as e:
    print(e)
 
  json_data = r.json()
  print '所在国家:' + json_data[0].encode('utf-8')
  print '所在省份:' + json_data[1].encode('utf-8')
  print '所在城市:' + json_data[2].encode('utf-8')
  return(ip)
 
ip='202.104.15.102'
lookup(ip)

python实现查询IP地址所在地

测试也不错,公司要使用还是选择购买付费的库查询接口吧。
本文部分出自 “老徐的私房菜” 博客,转载请与作者联系!

以上所述就是本文的全部内容了希望大家能够喜欢。

Python 相关文章推荐
跟老齐学Python之不要红头文件(1)
Sep 28 Python
Django中对数据查询结果进行排序的方法
Jul 17 Python
利用python获取某年中每个月的第一天和最后一天
Dec 15 Python
Scrapy-redis爬虫分布式爬取的分析和实现
Feb 07 Python
安装Python和pygame及相应的环境变量配置(图文教程)
Jun 04 Python
关于Django外键赋值问题详解
Aug 13 Python
matplotlib在python上绘制3D散点图实例详解
Dec 09 Python
使用pandas将numpy中的数组数据保存到csv文件的方法
Jun 14 Python
Python多线程编程之多线程加锁操作示例
Sep 06 Python
python中for循环输出列表索引与对应的值方法
Nov 07 Python
零基础使用Python读写处理Excel表格的方法
May 02 Python
python文件与路径操作神器 pathlib
Apr 01 Python
python实现定时播放mp3
Mar 29 #Python
Python实现设置windows桌面壁纸代码分享
Mar 28 #Python
Python中的类与对象之描述符详解
Mar 27 #Python
深入理解Javascript中的this关键字
Mar 27 #Python
Python运用于数据分析的简单教程
Mar 27 #Python
Python中下划线的使用方法
Mar 27 #Python
利用Python和OpenCV库将URL转换为OpenCV格式的方法
Mar 27 #Python
You might like
php中mt_rand()随机数函数用法
2014/11/24 PHP
PHP使用PDO调用mssql存储过程的方法示例
2017/10/07 PHP
jquery入门——事件机制之事件中的冒泡现象示例解释
2020/09/12 Javascript
Bootstrap每天必学之表单
2015/11/23 Javascript
原生JavaScript实现动态省市县三级联动下拉框菜单实例代码
2016/02/03 Javascript
jQuery EasyUI Pagination实现分页的常用方法
2016/05/21 Javascript
jQuery实现的导航下拉菜单效果
2016/07/04 Javascript
浅述Javascript的外部对象
2016/12/07 Javascript
nodejs redis 发布订阅机制封装实现方法及实例代码
2016/12/15 NodeJs
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
2016/12/26 Javascript
js实现瀑布流效果(自动生成新的内容)
2017/03/16 Javascript
Js实现京东无延迟菜单效果实例(demo)
2017/06/02 Javascript
javascript实现二叉树的代码
2017/06/08 Javascript
layer.alert回调函数执行关闭弹窗的实例
2019/09/11 Javascript
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
2020/08/20 NodeJs
Openlayers实现点闪烁扩散效果
2020/09/24 Javascript
python3模拟百度登录并实现百度贴吧签到示例分享(百度贴吧自动签到)
2014/02/24 Python
python 示例分享---逻辑推理编程解决八皇后
2014/07/20 Python
使用Python编写一个简单的tic-tac-toe游戏的教程
2015/04/16 Python
浅谈Tensorflow模型的保存与恢复加载
2018/04/26 Python
python正则-re的用法详解
2019/07/28 Python
python excel转换csv代码实例
2019/08/26 Python
使用Python脚本zabbix自定义key监控oracle连接状态
2019/08/28 Python
wxpython+pymysql实现用户登陆功能
2019/11/19 Python
使用Python paramiko模块利用多线程实现ssh并发执行操作
2019/12/05 Python
pytorch实现CNN卷积神经网络
2020/02/19 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
TUMI马来西亚官方网站:国际领先的高品质商旅箱包品牌
2018/04/26 全球购物
GWebs公司笔试题
2012/05/04 面试题
中文师范生自荐信
2014/01/30 职场文书
中学自我评价
2014/01/31 职场文书
无财产无子女离婚协议书范文
2014/09/14 职场文书
有关九一八事变的演讲稿
2014/09/14 职场文书
教师党的群众路线教育实践活动学习心得体会
2014/10/30 职场文书
2014法制宣传日活动总结范文
2014/11/01 职场文书
党支部审查意见
2015/06/02 职场文书