Python新世界软件开发

api接口是什么?会调用api之后,你会发现这可能就是学习的乐趣

2018-08-31  本文已影响42人  919b0c54458f

思考这个问题的朋友,相信都已从定义得知,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!一起 学习共同进步!

上一篇下一篇

猜你喜欢

热点阅读