本来想调用阿里的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)

wKiom1SHvnSy5mXdAACUq8a9nqg911.jpg

但是多次查询发现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)

wKiom1SHv5Ch3WojAAB9iRfaqo0333.jpg

测试也不错,公司要使用还是选择购买付费的库查询接口吧。

©著作权归作者所有:来自51CTO博客作者老徐_kevin的原创作品,如需转载,请与作者联系,否则将追究法律责任

python批量查询ip归属地_python查询ip归属地相关推荐

  1. python 通过ip获取城市_python 根据ip获取地理位置

    !/usr/bin/python coding=utf-8 import dpkt import socket import pygeoip import optparse gi = pygeoip. ...

  2. python批量提取pdf的数据_Python批量提取PDF文件中文本的脚本

    本文实例为大家分享了Python批量提取PDF文件中文本的具体代码,供大家参考,具体内容如下 首先需要执行命令pip install pdfminer3k来安装处理PDF文件的扩展库. import ...

  3. python通过ip池爬_Python爬虫 | IP池的使用

    一.简介 爬虫中为什么需要使用代理 一些网站会有相应的反爬虫措施,例如很多网站会检测某一段时间某个IP的访问次数,如果访问频率太快以至于看起来不像正常访客,它可能就会禁止这个IP的访问.所以我们需要设 ...

  4. python连接access数据库查询并打印出来_python 查询 access数据库操作

    日志服务使用Python SDK快速入门指南 为快速开始使用日志服务Python SDK,请按照如下步骤进行: 创建阿里云账号 为了访问阿里云日志服务,你需要有一个阿里云账号.如果没有,可首先如下创建 ...

  5. python查询mysql 乱码问题_python查询mysql中文乱码问题

    问题: python2.7 查询或者插入中文数据在mysql中的时候出现中文乱码 --- 可能情况: 1.mysql数据库各项没有设置编码,默认为'latin' 2.使用MySQL.connect的时 ...

  6. python读取数据库后生成网页_python查询数据库并将结果按照格式生成HTML页面展示...

    ") print(" 座席呼入呼出记录查询系统 ") print(" ") print(" 一.座席呼入呼出查询结果如下 ") p ...

  7. python ip代理池_Python 爬虫IP代理池的实现

    很多时候,如果要多线程的爬取网页,或者是单纯的反爬,我们需要通过代理IP来进行访问.下面看看一个基本的实现方法. 代理IP的提取,网上有很多网站都提供这个服务.基本上可靠性和银子是成正比的.国内提供的 ...

  8. python批量下载网页文件夹_Python实现批量从不同的Linux服务器下载文件

    基于Python实现批量从不同的Linux服务器下载文件 by:授客 实现功能 批量从不同的Linux服务器下载指定文件 测试环境 Win7 64位 Python 3.3.2 pscp 64位 下载地 ...

  9. python批量下载网页文件夹_Python抓取网页批量下载文件方法初探(正则表达式+BeautifulSoup) (转)...

    最近两周都在学习Python抓取网页方法,任务是批量下载网站上的文件.对于一个刚刚入门python的人来说,在很多细节上都有需要注意的地方,以下就分享一下我在初学python过程中遇到的问题及解决方法 ...

  10. python ip代理池_python实现ip代理池功能示例

    本文实例讲述了python实现ip代理池功能.分享给大家供大家参考,具体如下: 爬取的代理源为西刺代理. 用xpath解析页面 用telnet来验证ip是否可用 把有效的ip写入到本地txt中.当然也 ...

最新文章

  1. oracle的delete语句加速,Oracle delete语句调优一例
  2. python基础教程第三版豆瓣-1024,程序媛/猿请查收!
  3. HTML+CSS+JavaScript复习笔记持更(一)——标签篇
  4. 四 s5p4418 Android 对can总线的支持 支持波特率修改
  5. 杭州获评全国最智慧城市
  6. python certificate verify failed
  7. 在Vid4上突破28dB大关!视频超分新的里程碑:IconVSR
  8. UIViewAnimationOptions
  9. 面向对象——类设计(六)——算法类
  10. vb还是python强大-VB已死,Python当立 | 忆云竹
  11. 错误调试:failed to allocate 4.75G (5102921216 bytes) from device: CUDA_ERROR_OUT_OF_MEMORY
  12. python源码中的学习笔记_第11章_模块与包
  13. Pizza Separation
  14. 天气预报接口使用及示例
  15. Python文字识别
  16. QMQ源码分析之Actor
  17. TXT生成PCD文件
  18. 大数据就业前景怎么样?
  19. vim的配置文件。转自:http://www.cnblogs.com/ma6174/
  20. BKEX Global研究院最新市场信息解读

热门文章

  1. [MSSQL]如何获取日期月份的英文缩写
  2. win10 外接显示器后出现input signal out of range
  3. MarkDown语法学习--字体,分割线,删除线,下划线
  4. 电影海报的多标签分类
  5. WORD中图片叠加背景融合的方法
  6. linux下轻松修改pdf文件
  7. mysql数据库运维月报_微运维weadmin快速上手手册.doc
  8. python扫描局域网端口和ip_如何高效实现扫描局域网IP、主机名、MAC和端口
  9. 2019 计蒜之道 初赛 第三场 阿里巴巴协助征战SARS(python做法,费马小定理+快速幂)
  10. 台式计算机的安规测试要求,美国EPA发布能源之星计算机规范V8.0版