2022年开设乐娱接口api数据集成商服务与乐娱API应用核心要素

现有的NG源码程序模板和麟游源码模板的近百套网站源码的整合优势,使乐娱接口的官方API开设量大增。同时网站占有率达到了市场的百分之45,足以彰显乐娱接口在于NG接口和麟游接口的线路稳定性有进一步提升。 由于市场竞争,大家没有寻到免费的接口应用条件,使得整个需求市场没有得到好的发展,为了维持乐娱接口API的低成本获取,接口文档可以自行进行沟通了解开户细节。

乐娱API应用核心要素聚合数据提供APIAPI数据接口、数据调用服务。致力于基于API技术向客户提供覆盖多领域、多场景的标准化API技术服务与集API治理、数据治理和相关技术服务于一体。

本文着重说下API的数据服务功能接口核心要素是什么

首先,下面的文章我会先演示怎么通过浏览器,不需要编程、不需要访问源码,来调用免费的API接口,达到让你怎么使用最简单的接口;

然后,会演示怎么通过编程乐娱去调用API接口数据;

最后,演示开启WEB服务,写一个简单的API接口,以体现出API的函数 (y=f(x)) 功能。

你也可以复制代码试下。通过你自己的尝试,你会了解到些后端、前段的东西,并加深你对API的理解。那么我们就开始吧,先上一个图:以API提供信息(数据)的功能,看下数据是怎么流动的。如果给API一个具体的位置的话,就位于下图中央。

为了更改的理解,我穿插一个故事角色。假如,世界太大,身处非洲大陆的你想去看看,成为了一个水手,被一位著名的航海家带去去远航(你掌握着船上唯一一台卫星电脑),途中不免航海家会让确定下城市的经纬度。这时航海家让你去确定下深圳市的经纬度。

1、你是个人肉API

这时,你能想到简单的办法就是去百度搜索一下。 除了航海家,船上的高级水手、大副,估计都有可能向你问,这个时候,其实你就是一个接口,大家都来向你获取地理位置信息,作为接口,你本身不产生信息,你只是信息的搜集者、传递者,提供人肉数据服务。

2、使用免费的经纬度API接口

在百度搜索的过程中,众多网友给出的经纬度不一致,你要反复对比,去辨真伪。时间长了,你可能会觉得大家都问位置,太烦了,我这个人肉API效率太慢,有没有更快的方式。

这时你发现了一个阿里云的一个免费的API接口:http://gc.ditu.aliyun.com/geocoding?a=深圳。你在浏览器地址栏输入了这个URL,果然得到了正确的经纬度,你又把URL中的深圳改为了别的城市,发现也可以查到。这时,通个这个接口,你给大伙确定位置的效率大大提升。

3、你不满足于此

你觉得这个接口太好了,刚好你会点Python,何不写点代码,注意这个时候你的角色发生了变化:你由一个人肉API转变了一个开发人员(注意这个是百度API定义中的关键词),你现在的目标是写代码,能够自动获取到这个某个地方的经纬度。

#python
import requests
r = requests.get("http://gc.ditu.aliyun.com/geocoding?a=深圳")
loc = r.json() 
print loc  
#打印出的结果:{u'alevel': 4, u'lon': 114.05786, u'level': 2, u'cityName': u'', u'address': u'', u'lat': 22.54309}
# 与在浏览器输入地址的结果一致

print "深圳的经度是%s,纬度是%s" % (loc["lon"], loc["lat"])   
#打印出的结果是:深圳的经度是114.05786,纬度是22.54309

到这里,我们再来回顾下API的百度定义。目前,你作为一个开发人员, 具备通过写了几行代码访问“阿里云经纬度接口”的能力, 你无需访问这个API的源码、不需要理解这个API是怎么弄成的 。也就是,不管是通过浏览器,还是编程语言,目前你已经会用简单的API了。

4、在会用简单API的接口后,你进一步想知道它的内在机制是什么

建立在会用的基础之上,那么API的源码、其内在机制是怎么回事?目前你能调用经纬度的API,简单的获取到位置还不够,你可能自己想写一个API接口,不紧紧提供位置信息,同时附加上对这个城市的介绍。

利用Python的tornado模块,搭建一个web服务。我们建一个脚本空文件 web_server.py,把以下代码复制进去

# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

import tornado.ioloop
import tornado.web
import json
import requests

lists = {u"深圳": "是经济特区,紧邻广州,接壤香港,人口约1200万",
         u"青岛": "旅游城市,濒临黄海,特产啤酒,人口约920万"
         }

def get_loc(city):
    r = requests.get("http://gc.ditu.aliyun.com/geocoding?a=%s" % city.encode('UTF-8'))
    loc = r.json()
    return "经度是%s,纬度是%s" % (loc["lon"], loc["lat"])

class BaseHandler(tornado.web.RequestHandler):
    def get_current_user(self):
        return self.get_secure_cookie("user")

class MainHandler(BaseHandler):
    def get(self):
        if self.request.arguments.has_key("id"):
            greeting = self.get_argument('id', 'Hello')
        if greeting in lists:
            self.write(greeting + ": " + str(get_loc(greeting)) + "," + str(lists[greeting]))
        else:
            self.write("none")

settings = dict(cookie_secret="P1/V61oETzdkLmGeJJFuYh7Eo5KXQAGaYgEQnp2XdTo=", debug=True)
application = tornado.web.Application([(r"/", MainHandler), ], **settings)

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.current().start()

执行web_server.py,执行后就会开启一个web服务

接着,我们在浏览器输入http://192.168.199.204:8888/?id=深圳

注意,我自己的电脑局域网IP是192.168.199.204,需要替换成你自己电脑(或虚拟机)的ip

从上图看,我们实现了,和”阿里云经纬接口“的相同功能,并且获取到了除经纬度,还有对城市的简单描述。随着航行越来越多,你让船上的大伙不仅了解了地理位置信息,也了解了每个城市的经济人文情况。随着信息数据的增多,特别需要一个东西能先把数据先保存起来,用到的时候,API再直接调用。

5、数据储存,调我所需

上面我们模仿了阿里云的API,自己搭建了一个web服务,提供额一个更为详细的API地理位置信息服务。现在想一下,我们的代码里只有深圳、青岛两个城市,还有很多没提到的城市,另外,城市还有经济发展情况、饮食文化等。我们把深圳、青岛两个城市信息存入到mysql里。

存入之后,我们从mysql里直接拿数据,通过API直接展现在到浏览器中。改动 web_server.py脚本中的

# -*- coding: utf-8 -*-
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

import tornado.ioloop
import tornado.web
import json
import requests
import MySQLdb.constants

def get_mysql(sql_string):
    conn = MySQLdb.connect(host='localhost', port = 3306, user = 'root', passwd = '123456', db = 'test', charset = 'utf8')
    cursor = conn.cursor()
    cursor.execute(sql_string)

    resultList = {}
    for data in cursor.fetchall():
        city_name = data[0]
        city_introduce = data[1]
        resultList[city_name] = city_introduce
    return resultList
    cursor.close()
    conn1.close()

def get_loc(city):
    r = requests.get("http://gc.ditu.aliyun.com/geocoding?a=%s" % city.encode('UTF-8'))
    loc = r.json()
    return "经度是%s,纬度是%s" % (loc["lon"], loc["lat"])

class BaseHandler(tornado.web.RequestHandler):
    def get_current_user(self):
        return self.get_secure_cookie("user")

class MainHandler(BaseHandler):
    def get(self):
        if self.request.arguments.has_key("id"):
            greeting = self.get_argument('id', 'Hello')
            lists = get_mysql("select name,introduce  from test.city where name ='%s' " % greeting.encode('UTF-8'))  #直接从mysql里读取城市信息,特别注意这里的SQL
        if greeting in lists:
            self.write(greeting + ": " + str(get_loc(greeting)) + "," + str(lists[greeting]))
        else:
            self.write("none")

settings = dict(cookie_secret="P1/V61oETzdkLmGeJJFuYh7Eo5KXQAGaYgEQnp2XdTo=", debug=True)
application = tornado.web.Application([(r"/", MainHandler), ], **settings)

if __name__ == "__main__":
    application.listen(8888)
    tornado.ioloop.IOLoop.current().start()

保存web_server.py后,再执行重启下,浏览器地址输入http://192.168.199.204:8888/?id=深圳,出现与第4步同样的结果,但这次是从mysql中拿数据,通过乐娱集成API接口展示到浏览器的。至此,你不仅会使用API,而且也通过tornado开启web服务、开启了一个API查询接口。

最后我们一起总结下,在上面的文章,我先画了一张图,结合乐娱API数据的流动,描述了API接口的位置,接着用了一个新故事从一个信息的搜集者,怎么利用现有的API接口服务商,去提供一个更棒的接口传输。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值