API供开发者获取数据用,通常返回的数据为JSON格式
优采云 发布时间: 2021-07-11 07:32API供开发者获取数据用,通常返回的数据为JSON格式
很多网站为开发者提供了获取数据的API。通常返回的数据是JSON格式。本文以百度Opener平台为例,通过API进行数据采集实验。由于百度API接口较多,后续会陆续添加实验接口。它们都是非常简单的程序,可以作为以后编写更全面的应用程序的基础。
使用百度API的步骤类似。百度开发者平台注册->免费获取AppID和Key->构建开发者文档中提供的URL->GET获取Json数据->分析展示。下面这个小程序干脆就不解释了,把自己的AppID和Key屏蔽了。
1、百度翻译使用
支持26种语言翻译,翻译准确度还是很好的。
import requests
import random
import hashlib
import json
import pprint
appid = '12345678'
key = 'dasd457dawgjj54j01qf'
url = 'http://api.fanyi.baidu.com/api/trans/vip/translate?'
#需要翻译的文本
q = '建设中国特色社会主义'
#原语言
from_language ='zh'
#目的语言
to_language = 'en'
#随机数
salt = random.randint(32768, 65536)
#签名
sign = appid+q+str(salt)+key
sign = sign.encode('utf-8')
sign_new = hashlib.md5(sign).hexdigest()
#生成URL
new_url = url + 'q='+q+'&from='+from_language+'&to='+to_language+'&appid='+appid+'&salt='+str(salt)+'&sign='+sign_new
res = requests.get(new_url)
print(res.text)
json_data = json.loads(res.text)
#translate_result = json_data["trans_result"]["dst"]
pprint.pprint(json_data["trans_result"])
[{'dst':'建设有中国特色的社会主义',
'src':'建设有中国特色的社会主义'}]
2.百度图获取位置经纬度
import json
import requests
from urllib.request import urlopen,quote
import pprint
address = quote("长沙")
key = "dajskjda1231390kjbnreitie1043"
url = "http://api.map.baidu.com/geocoder/v2/"
new_url = url+"?address="+address+"&output=json"+"&ak="+key
url = "http://restapi.amap.com/v3/geocode/geo"
res = requests.get(new_url)
json_data = json.loads(res.text)
print('经度是:'+str(json_data['result']['location']['lat']))
print('维度是:'+str(json_data['result']['location']['lng']))
经度为:28.222
维度为:112.9793527876505