api接口是什么?会调用api之后,你会发现这可能就是学习的乐趣
思考这个问题的朋友,相信都已从定义得知,API就是接口,就是通道,负责一个程序和其他软件的沟通,本质是预先定义的函数。各位答主也已经举了很多直观的例子。这里想从另外的角度,谈一谈好的API,希望对大家有用。譬如我们去办事,窗口就类似一个API,如果对于某一件不简单的事情,这个窗口能做到让我们“最多跑一次”,“只盖一枚章”,这个API就是不错的。(当然,API不太一样,适用接口隔离原则,即使用多个隔离的接口,如用户注册与用户登录分别写两个接口,可以提高程序设计灵活性。)
百度的API 接口:
https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query={ip地址}&co=&resource_id=6006&t=1529809984888&ie=utf8&oe=gbk&format=json&tn=baidu
只需要把
{ip地址}
替换成你要查询的ip地址就好了
函数 封装
# -*- coding: utf-8 -*-
"""
@Time: 2018/8/31
@Author: songhao
@微信公众号: zeropython
@File: dfdfs.py
"""
import urllib
import json
class BDIPSearch:
def __init__(self,ipData):
self.ipData = str(ipData)
def getIP(self):
url = "https://sp0.baidu.com/8aQDcjqpAAV3otqbppnN2DJv/api.php?query=" + self.ipData + "&co=&resource_id=6006&t=1529809984888&ie=utf8&oe=gbk&format=json&tn=baidu"
ipData = urllib.request.urlopen(url).read().decode("gbk")
return json.loads(ipData)["data"]
使用测试:
批量查询速度还是蛮快的
if __name__ == '__main__':
ipdata = BDIPSearch("203.208.60.147")
print(ipdata.getIP())
查询效果如上图:
小编在此谢谢大家的观看!Python很容易学!所以小编有弄一个交流,互问互答,资源共享的交流学习基地,如果你也是Python的学习者或者大牛都欢迎你来!㪊:548+377+875!一起 学习共同进步!