Python调用网络应用程序接口

Web API-网络应用程序接口

web API 网络应用程序接口,是一套成熟系统所必需的接口,可以被其他系统或脚本来调用。
如果一个URL返回的不是HTML,而是机器能直接解析的数据,这个URL就可以看成是一个Web API
        http    :GET  POST

一般步骤

    第一步,申请”Web服务API”密钥(Key);
    第二步,拼接HTTP请求URL,第一步申请的Key需作为必填参数一同发送;
    第三步,接收HTTP请求返回的数据(JSON或XML格式),解析数据。

Python调用Web API实现方式--获取请求网页--提取信息

        方式: 1.利用python第三方库Requests实现,Requests是基于urllib3,
                    2.基于http协议利用标准库http.client实现
                    3.利用基于传输层上socket实现
            解析数据--提取信息
                    返回的是XML格式:Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库
                    返回的是JSON格式:json和simplejson 以及请求库自带的JSON解析器                      
        注释
        一般情况下,接口的输入参数和输出数据编码全部统一为UTF-8。

举例:

#-*- coding:utf-8 -*- 
''' 利用高德地图api实现地址和经纬度的转换  ''' 
import requests 
# 获取respnose
def geocode(address): 
    parameters = {'address': address, 'key': '599a3c249c91a5cc001c7350740ddeb3'}
    base = 'http://restapi.amap.com/v3/geocode/geo'
     # 最基本的GET请求-#带参数的GET请求
    response = requests.get(url=base, params=parameters)
    #返回一个response对象,其存储了服务器响应的内容
    answer = response.json()
    #Requests中内置的JSON解码器
    print(address + "的经纬度:", answer['geocodes'][0]['location'])
if __name__=='__main__':
    address = input("请输入地址:")
    address = '北京市海淀区'
    geocode(address)

说明

其他方法都是统一的接口样式,,例如requests.post(“http://httpbin.org/post”) #POST请求
    data = {'some': 'data'}
    headers = {'content-type': 'application/json',
                     'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'}
    requests.post('https://api.github.com/some/endpoint', data=data, headers=headers)

参考:

高德地图web服务API:http://lbs.amap.com/api/webservice/summary
Requests的文档:http://www.python-requests.org/en/master/
中文文档:http://cn.python-requests.org/zh_CN/latest/
Python-开发库资源文档:http://hao.jobbole.com/?catid=144
谷歌地球网页版:https://earth.google.com/web/

blogroll

social