python3调用接口查询IP信息

简介:

    看到网上有那么多的开放接口,于是就想尝试一下接口程序,于是就找了网上公开的IP接口,试了几个还是淘宝的比较稳定。也比较好用,下面做简单的介绍。

开发环境:windows pycharm

调用相关的模块

1
2
3
import  json   #解析返回jason格式的结果
import  requests  #调用访问web
import  urllib.parse  #拼接url

淘宝IP地址库:http://ip.taobao.com/index.php

API相关资料:

1
2
3
4
5
6
7
8
9
10
1.  请求接口(GET):
/ service / getIpInfo.php?ip = [ip地址字串]
2.  响应信息:
(json格式的)国家 、省(自治区或直辖市)、市(县)、运营商
3.  返回数据格式:
{ "code" : 0 , "data" :{ "ip" : "210.75.225.254" , "country" : "\u4e2d\u56fd" , "area" : "\u534e\u5317" ,
"region" : "\u5317\u4eac\u5e02" , "city" : "\u5317\u4eac\u5e02" , "county" :" "," isp ":" \u7535\u4fe1",
"country_id" : "86" , "area_id" : "100000" , "region_id" : "110000" , "city_id" : "110000" ,
"county_id" : "-1" , "isp_id" : "100017" }}
其中code的值的含义为, 0 :成功, 1 :失败。

    从上面的api的格式我们可以看到他包含很多的字段,在我们api开发对接工程中只需要按照自己的需求格式化输出就好。

过程分析:

1、首先是找相关的接口以及接口的相关参数

2、用urllib.parse拼接完整的URL并提交

3、接收返回值

4、将返回值转换成jash格式,并按自己的需求格式化输出

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#!/bin/env/python
import  json
import  requests
import  urllib.parse
dataip =   input ( "please  input your ipaddress:" #输入IP
url = #地址 
data = {}   #定义一个空字典
data[ "ip" ] = dataip   #字典中的IP
data  =  urllib.parse.urlencode(data).encode( "utf-8" ) #拼接rul
 
response  =  urllib.request.urlopen(url, data)  #post提交数据
html  =  response.read().decode( "utf-8" )   #接收返回数据
#print(html)
tag = json.loads(html,encoding = 'utf8' #josh格式转换
#print(tag)
ip = tag[ "data" ][ "ip" ]   #要查询IP
city = tag[ "data" ][ "city" ] #城市
area = tag[ "data" ][ "area" ] #区域
isp = tag[ "data" ][ "isp" #ISP
county = tag[ "data" ][ "county" ] #市区
country = tag[ "data" ][ "country" ] #国家
print ( "您输入的IP:%s\n所在城市区域:%s%s%s\n运营商:%s%s" % (ip,country,city,
 
运行程序
please   input  your ipaddress: 114.98 . 241.95
返回结果:
您输入的IP: 114.98 . 241.95
所在城市区域:中国合肥市
运营商:中国电信



本文转自 tianya1993 51CTO博客,原文链接:http://blog.51cto.com/dreamlinux/1911762,如需转载请自行联系原作者
相关文章
|
8月前
|
JSON API 数据安全/隐私保护
Python采集淘宝拍立淘按图搜索API接口及JSON数据返回全流程指南
通过以上流程,可实现淘宝拍立淘按图搜索的完整调用链路,并获取结构化的JSON商品数据,支撑电商比价、智能推荐等业务场景。
|
9月前
|
缓存 监控 算法
苏宁item_get - 获得商品详情接口深度# 深度分析及 Python 实现
苏宁易购item_get接口可实时获取商品价格、库存、促销等详情,支持电商数据分析与竞品监控。需认证接入,遵守调用限制,适用于价格监控、销售分析等场景,助力精准营销决策。(238字)
|
9月前
|
JSON 缓存 供应链
电子元件 item_search - 按关键字搜索商品接口深度分析及 Python 实现
本文深入解析电子元件item_search接口的设计逻辑与Python实现,涵盖参数化筛选、技术指标匹配、供应链属性过滤及替代型号推荐等核心功能,助力高效精准的电子元器件搜索与采购决策。
|
9月前
|
缓存 供应链 芯片
电子元件类商品 item_get - 商品详情接口深度分析及 Python 实现
电子元件商品接口需精准返回型号参数、规格属性、认证及库存等专业数据,支持供应链管理与采购决策。本文详解其接口特性、数据结构与Python实现方案。
|
SQL 关系型数据库 数据库连接
使用python3抓取pinpoint应用信息入库
使用python3通过pinpoint api来获取pinpoint中应用基础信息、上下游链路,并入库
2224 0
|
开发者 索引 Python
实践:如何使用python在网页的表格里抓取信息
实践:如何使用python在网页的表格里抓取信息
384 0
|
数据采集 供应链 机器人
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
670 0
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
|
定位技术 开发者 Python
Python编程:通过百度地图接口抓取机构的地址和电话信息
Python编程:通过百度地图接口抓取机构的地址和电话信息
812 0
|
Web App开发 Linux iOS开发
用python抓取智联招聘信息并存入excel
用python抓取智联招聘信息并存入excel tags:python 智联招聘导出excel 引言:前一阵子是人们俗称的金三银四,跳槽的朋友很多,我觉得每个人都应该给自己做一下规划,根据自己的进步作出调整。
1448 0

推荐镜像

更多