python 通过淘宝IP数据库查询地区

简介:

API 的地址是 http://ip.taobao.com/service/getIpInfo.php?ip=你需要查询的IP


{"code":0,"data":{"country":"\u4e2d\u56fd","country_id":"CN","area":"\u897f\u5357","area_id":"500000","region":"\u56db\u5ddd\u7701","region_id":"510000","city":"\u7ef5\u9633\u5e02","city_id":"510700","county":"","county_id":"-1","isp":"\u8054\u901a","isp_id":"100026","ip":"221.10.97.147"}}


上面就是我查询我现在所在的外网地址得出来的

(json格式的)国家 、省(自治区或直辖市)、市(县)、运营商

其中code的值的含义为,0:成功,1:失败。

country:国家

area:地区

region:所在省份

city:所在城市

county:县

isp:运营商


然后 得到的数据是经过 unicode 编码的 然后获取实际的数据需要解码

python 解码方面可以参考这里

http://luchanghong.com/python/2012/07/06/python-encoding-with-unicode-and-gbk-and-utf8.html


然后就根据需要提取内容就好了 写个例子


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import  urllib
import  json
def  ipInfo(ipaddress):
     url  =  'http://ip.taobao.com/service/getIpInfo.php?ip='  +  ipaddress
     page  =  urllib.urlopen(url)
     data  =  page.read()
     jsondata  =  json.loads(data)
     if  jsondata[u 'code' = =  0 :
         print  '所在国家:'  +  jsondata[u 'data' ][u 'country' ].encode( 'utf-8' )
         print  '所在地区:'  +  jsondata[u 'data' ][u 'area' ].encode( 'utf-8' )
         print  '所在省份:'  +  jsondata[u 'data' ][u 'region' ].encode( 'utf-8' )
         print  '所在城市:'  +  jsondata[u 'data' ][u 'city' ].encode( 'utf-8' )
         print  '所用运营商:'  +  jsondata[u 'data' ][u 'isp' ].encode( 'utf-8' )
     else :
         print  '查询失败 请检查IP 后再说'

只是简单的获取数据 解析数据而已


本文转自    拖鞋崽      51CTO博客,原文链接:http://blog.51cto.com/1992mrwang/1206673

相关文章
|
14天前
|
关系型数据库 MySQL 数据库
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
轻松入门MySQL:精准查询,巧用WHERE与HAVING,数据库查询如虎添翼(7)
|
19天前
|
缓存 NoSQL 关系型数据库
在Python Web开发过程中:数据库与缓存,MySQL和NoSQL数据库的主要差异是什么?
MySQL是关系型DB,依赖预定义的表格结构,适合结构化数据和复杂查询,但扩展性有限。NoSQL提供灵活的非结构化数据存储(如JSON),无统一查询语言,但能横向扩展,适用于大规模、高并发场景。选择取决于应用需求和扩展策略。
110 1
|
20天前
|
Python
Python实现简易天气查询系统
Python实现简易天气查询系统
26 4
|
27天前
|
SQL 缓存 PHP
PHP技术探究:优化数据库查询效率的实用方法
本文将深入探讨PHP中优化数据库查询效率的实用方法,包括索引优化、SQL语句优化以及缓存机制的应用。通过合理的优化策略和技巧,可以显著提升系统性能,提高用户体验,是PHP开发者不容忽视的重要议题。
|
28天前
|
XML 关系型数据库 MySQL
python将word(doc或docx)的内容导入mysql数据库
用python先把doc文件转换成docx文件(这一步也可以不要后续会说明),然后读取docx的文件并另存为htm格式的文件(上一步可以直接把doc文件另存为htm),python根据bs4获取p标签里的内容,如果段落中有图片则保存图片。(图片在word文档中的位置可以很好的还原到生成的数据库内容) 我见网上有把docx压缩后解压获取图片的,然后根据在根据xml来读取图片的位置,我觉得比较繁琐。用docx模块读取段落的时候还需要是不是判断段落中有分页等,然而转成htm之后就不用判断那么多直接判断段落里的样式或者图片等就可以了。
21 1
|
4天前
|
SQL 关系型数据库 数据库
Python中SQLite数据库操作详解:利用sqlite3模块
【4月更文挑战第13天】在Python编程中,SQLite数据库是一个轻量级的关系型数据库管理系统,它包含在一个单一的文件内,不需要一个单独的服务器进程或操作系统级别的配置。由于其简单易用和高效性,SQLite经常作为应用程序的本地数据库解决方案。Python的内置sqlite3模块提供了与SQLite数据库交互的接口,使得在Python中操作SQLite数据库变得非常容易。
|
14天前
|
缓存 监控 数据库
优化数据库查询性能的八大技巧
在今天的互联网时代,数据库是许多应用程序的核心组件之一。优化数据库查询性能是提升应用程序整体性能的关键。本文介绍了八种有效的技巧,帮助开发人员提高数据库查询性能,从而提升应用程序的响应速度和用户体验。
|
23天前
|
数据采集 搜索推荐 数据挖掘
使用Python制作一个批量查询搜索排名的SEO免费工具
最近工作中需要用上 Google SEO(搜索引擎优化),有了解过的朋友们应该都知道SEO必不可少的工作之一就是查询关键词的搜索排名。关键词少的时候可以一个一个去查没什么问题,但是到了后期,一个网站都有几百上千的关键词,你再去一个一个查,至少要花费数小时的时间。 虽然市面上有很多SEO免费或者收费工具,但免费的基本都不能批量查,网上免费的最多也就只能10个10个查询,而且查询速度很慢。收费的工具如Ahrefs、SEMrush等以月为单位收费最低也都要上百美刀/月,当然如果觉得价格合适也可以进行购买,毕竟这些工具的很多功能都很实用。今天我给大家分享的这个排名搜索工具基于python实现,当然肯定
37 0
|
27天前
|
SQL Java 关系型数据库
在Python中编写Java数据库驱动是不可能的
在Python中编写Java数据库驱动是不可能的
|
30天前
|
SQL 关系型数据库 数据库连接
描述一下在 Python 中使用数据库的常见方法。
【2月更文挑战第26天】【2月更文挑战第91篇】描述一下在 Python 中使用数据库的常见方法。