爬虫学习之8:使用网站API获取数据(持续更新)

      很多网站提供了API供开发者获取数据用,通常返回的数据为JSON格式,本文以百度开放者平台为例对通过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': 'Building socialism with Chinese characteristics',
  '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.21347823085322
维度是:112.9793527876505
  • 6
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值