博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码...
阅读量:6913 次
发布时间:2019-06-27

本文共 2438 字,大约阅读时间需要 8 分钟。

python3.4学习笔记(二十三) Python调用淘宝IP库获取IP归属地返回省市运营商实例代码

淘宝IP地址库

目前提供的服务包括:
1. 根据用户提供的IP地址,快速查询出该IP地址所在的地理信息和地理相关的信息,包括国家、省、市和运营商。
2. 用户可以根据自己所在的位置和使用的IP地址更新我们的服务内容。
我们的优势:
1. 提供国家、省、市、县、运营商全方位信息,信息维度广,格式规范。
2. 提供完善的统计分析报表,省准确度超过99.8%,市准确度超过96.8%,数据质量有保障。
=======================================

1 #!/usr/local/bin/python 2 #coding: utf-8 3 __author__ = 'zdz8207' 4 import json 5 import urllib 6 import sys 7  8 def get_data(ip): 9 url = "http://ip.taobao.com/service/getIpInfo.php?ip="+ ip10 jsondata = json.loads(urllib.urlopen(url).read())11 #{u'code': 0, u'data': {u'ip': u'119.124.101.221', u'city':12 #其中code的值的含义为,0:成功,1:失败。{u'code': 1, u'data': u'invaild ip.'}13 #print(jsondata)14 if jsondata['code'] == 1:15 jsondata['data'] = {
'region':'','city':'','isp':''}16 return (jsondata['data']['region'], jsondata['data']['city'], jsondata['data']['isp'])17 18 if __name__ == "__main__":19 #211.162.62.161 61.135.157.156 220.198.192.0 119.124.101.22120 result = get_data("211.162.62.161")21 print(result[0]+result[1]+result[2])

======================================

python中数字和字符串连接的方法:print str(x) + " is a string"
======================================
Python获取IP归属地(修改版) - 开源中国社区

淘宝IP库API地址:http://ip.taobao.com/service/getIpInfo.php?ip=xxx

用python的tkinter模块写了个查询IP地址的小程序 - 推酷

./queryip.py 61.135.157.156
country area region city county isp
中国 华北 北京市 北京市 NULL 联通

======================================

python通过淘宝IP地址库获取IP位置
淘宝IP地址库提供了两大服务:
1. 根据用户提供的IP地址,快速查询出该IP地址所在的地理信息和地理相关的信息,包括国家、省、市和运营商。
2. 用户可以根据自己所在的位置和使用的IP地址更新我们的服务内容。
优势:
1. 提供国家、省、市、县、运营商全方位信息,信息维度广,格式规范。
2. 提供完善的统计分析报表,省准确度超过99.8%,市准确度超过96.8%,数据质量有保障。
这个服务也是限制每个用户的访问频率需小于10qps
整个流程分两步:一,构造网址并读取网页数据;二,json解析网页数据。

代码如下:

import urllib, urllib2import jsonimport sysimport reip = '61.135.157.156'#raw_input(r'IP : ')ip = str.strip(ip)ptn = re.compile(r'(([12][0-9][0-9]|[1-9][0-9]|[1-9])\.){3,3}([12][0-9][0-9]|[1-9][0-9]|[1-9])')rel = ptn.match(ip)if rel:passelse:print "IP not valid"sys.exit()try:urlfp = urllib.urlopen('http://ip.taobao.com/service/getIpInfo.php?ip='+ ip)except Exception, e:print "Error ", esys.exit()ipdata = urlfp.read()urlfp.close()allinfo = json.loads(ipdata)for oneinfo in allinfo:if "code" == oneinfo:if 0 == allinfo[oneinfo]:print "ip : " + allinfo["data"]["ip"]print "city : " + allinfo["data"]["country"],print allinfo["data"]["region"],print allinfo["data"]["city"],print "(" + allinfo["data"]["isp"] + ")" else:print "parse error"sys.exit()

 

转载地址:http://asicl.baihongyu.com/

你可能感兴趣的文章
微信支付详解
查看>>
ubuntu install GTK-GNOME development environment
查看>>
为iDempiere 1.0b安装中文语言包(基于Ubuntu Desktop 12.04 LTS)
查看>>
React之JSX语法
查看>>
并行逻辑回归
查看>>
Graphviz样例之UML图
查看>>
XmlBeanFactory
查看>>
《Linux内核设计与实现》读书笔记(二)- 内核开发的准备
查看>>
开源MongoDB管理工具MongoCola1.20 发布 离开IBM GDC的最后一个版本
查看>>
03C++语言对C的增强——实用性、变量检测、struct类型、C++中所有变量和函数都必须有类型、bool类型、三目运算符...
查看>>
LVM逻辑卷
查看>>
TCP服务器和客户端最大连接数
查看>>
手机端扫描证件识别SDK
查看>>
Java_Utils框架
查看>>
java selenium (六) XPath 定位
查看>>
Java加密算法(八)——数字证书
查看>>
Storm消息容错机制(ack-fail机制)
查看>>
Linux入门
查看>>
Linux 文件与目录结构
查看>>
mysql数据库主从配置的几种方式
查看>>