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,如需转载请自行联系原作者
相关文章
|
24天前
|
数据采集 存储 XML
Python爬虫:深入探索1688关键词接口获取之道
在数字化经济中,数据尤其在电商领域的价值日益凸显。1688作为中国领先的B2B平台,其关键词接口对商家至关重要。本文介绍如何通过Python爬虫技术,合法合规地获取1688关键词接口,助力商家洞察市场趋势,优化营销策略。
|
7天前
|
分布式计算 大数据 数据处理
技术评测:MaxCompute MaxFrame——阿里云自研分布式计算框架的Python编程接口
随着大数据和人工智能技术的发展,数据处理的需求日益增长。阿里云推出的MaxCompute MaxFrame(简称“MaxFrame”)是一个专为Python开发者设计的分布式计算框架,它不仅支持Python编程接口,还能直接利用MaxCompute的云原生大数据计算资源和服务。本文将通过一系列最佳实践测评,探讨MaxFrame在分布式Pandas处理以及大语言模型数据处理场景中的表现,并分析其在实际工作中的应用潜力。
34 2
|
14天前
|
数据采集 存储 API
利用Python爬虫获取1688关键词接口全攻略
本文介绍如何使用Python爬虫技术合法合规地获取1688关键词接口数据,包括环境准备、注册1688开发者账号、获取Access Token、构建请求URL、发送API请求、解析HTML及数据处理存储等步骤,强调遵守法律法规和合理使用爬虫技术的重要性。
|
24天前
|
JSON 安全 API
Python调用API接口的方法
Python调用API接口的方法
112 5
|
1月前
|
存储 数据采集 数据库
用 Python 爬取淘宝商品价格信息时需要注意什么?
使用 Python 爬取淘宝商品价格信息时,需注意法律和道德规范,遵守法律法规和平台规定,避免非法用途。技术上,可选择 Selenium 和 Requests 库,处理反爬措施如 IP 限制、验证码识别和请求频率控制。解析页面数据时,确定数据位置并清洗格式。数据存储可选择 CSV、Excel、JSON 或数据库,定期更新并去重。还需进行错误处理和日志记录,确保爬虫稳定运行。
|
28天前
|
数据采集 API 定位技术
Python技术进阶:动态代理IP的跨境电商解决方案
Python技术进阶:动态代理IP的跨境电商解决方案
|
1月前
|
测试技术 API 数据安全/隐私保护
Python连接到Jira实例、登录、查询、修改和创建bug
通过使用Python和Jira的REST API,可以方便地连接到Jira实例并进行各种操作,包括查询、修改和创建Bug。`jira`库提供了简洁的接口,使得这些操作变得简单易行。无论是自动化测试还是开发工作流的集成,这些方法都可以极大地提高效率和准确性。希望通过本文的介绍,您能够更好地理解和应用这些技术。
166 0
|
7月前
|
开发者 索引 Python
实践:如何使用python在网页的表格里抓取信息
实践:如何使用python在网页的表格里抓取信息
124 0
|
SQL 关系型数据库 数据库连接
使用python3抓取pinpoint应用信息入库
使用python3通过pinpoint api来获取pinpoint中应用基础信息、上下游链路,并入库
1979 0
|
数据采集 供应链 机器人
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务
455 0
Python - 抓取 iphone13 pro 线下店供货信息并发送到钉钉机器人,最后设置为定时任务