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使用MD5加密字符串示例
Aug 22 Python
Python 通过pip安装Django详细介绍
Apr 28 Python
Python实现一个转存纯真IP数据库的脚本分享
May 21 Python
Python竟能画这么漂亮的花,帅呆了(代码分享)
Nov 15 Python
python 猴子补丁(monkey patch)
Jun 26 Python
python3.6编写的单元测试示例
Aug 17 Python
Python连接SQLite数据库并进行增册改查操作方法详解
Feb 18 Python
基于打开pycharm有带图片md文件卡死问题的解决
Apr 24 Python
Python pandas对excel的操作实现示例
Jul 21 Python
Python requests HTTP验证登录实现流程
Nov 05 Python
Python如何利用正则表达式爬取网页信息及图片
Apr 17 Python
pytorch 实现多个Dataloader同时训练
May 29 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 面向对象 PHP5 中的常量
2010/05/05 PHP
PHP中使用CURL伪造来路抓取页面或文件
2011/05/04 PHP
制作安全性高的PHP网站的几个实用要点
2014/12/30 PHP
php输出指定时间以前时间格式的方法
2015/03/21 PHP
PHP的关于变量和日期处理的一些面试题目整理
2015/08/10 PHP
PHP代码加密的方法总结
2020/03/13 PHP
javascript中的float运算精度实例分析
2010/08/21 Javascript
js浮动图片的动态效果
2013/07/10 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
js控制input框只读实现示例
2014/01/20 Javascript
5个JavaScript经典面试题
2014/10/13 Javascript
javascript实现获取浏览器版本、浏览器类型
2015/12/02 Javascript
javaScript给元素添加多个class的简单实现
2016/07/20 Javascript
vue单页应用中如何使用jquery的方法示例
2017/07/27 jQuery
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
详解JS构造函数中this和return
2017/09/16 Javascript
vue项目中的webpack-dev-sever配置方法
2017/12/14 Javascript
vue实现百度下拉列表交互操作示例
2019/03/12 Javascript
js实现的订阅发布者模式简单示例
2020/03/14 Javascript
原生js生成图片验证码
2020/10/11 Javascript
Python实现扫描局域网活动ip(扫描在线电脑)
2015/04/28 Python
Python实现pdf文档转txt的方法示例
2018/01/19 Python
解决pyinstaller打包exe文件出现命令窗口一闪而过的问题
2018/10/31 Python
学习Python爬虫的几点建议
2020/08/05 Python
美国一家全面的在线零售鞋类公司:SHOEBACCA
2017/01/06 全球购物
图库照片、免版税图片、矢量艺术、视频片段:Depositphotos
2019/08/02 全球购物
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
2012/12/13 面试题
学校消防演习方案
2014/02/19 职场文书
团委书记的竞聘演讲稿
2014/04/24 职场文书
药品营销策划方案
2014/06/15 职场文书
国庆宣传标语
2014/06/30 职场文书
2014年政协委员工作总结
2014/12/01 职场文书
综合素质评价思想道德自我评价
2015/03/09 职场文书
小学语文教学随笔
2015/08/14 职场文书
Java面试题冲刺第十六天--消息队列
2021/08/07 面试题
Python使用永中文档转换服务
2022/05/06 Python