发布时间:2019-09-26 07:34:04编辑:auto阅读(1767)
看到网上有那么多的开放接口,于是就想尝试一下接口程序,于是就找了网上公开的IP接口,试了几个还是淘宝的比较稳定。也比较好用,下面做简单的介绍。
开发环境:windows pycharm
调用相关的模块
import json #解析返回jason格式的结果 import requests #调用访问web import urllib.parse #拼接url
淘宝IP地址库:http://ip.taobao.com/index.php
API相关资料:
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格式,并按自己的需求格式化输出
#!/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 所在城市区域:中国合肥市 运营商:中国电信
上一篇: 解决webdriver调用Firefo
下一篇: python3学习知识点笔记
47754
46259
37140
34647
29238
25896
24766
19870
19433
17924
5724°
6329°
5845°
5897°
6998°
5835°
5854°
6368°
6323°
7688°