目录
实验内容
实验环境
实验过程
实验内容:
尝试使用网站开放的API,获取网站数据,了解除网络爬虫外获取高质量网站数据的新途径。
实验环境:
操作系统:CentOS Linux release 7.2.1511 (Core)
实验语言:Python 3.6.5
所用框架:requests
实验过程:
1)查看豆瓣现开放的API:
豆瓣API开发者文档:https://developers.douban.com/wiki/?title=api_v2
豆瓣现开放的API有:
各API返回的数据格式为JSON格式,不同的API返回的数据项在开发者文档中有详细说明。可以通过修改请求的URL和查询参数,获得指定数据。
2)使用API获取数据,在浏览器环境下:
可以在浏览器地址栏输入请求URL,获得JSON格式的返回数据。在地址栏输入: http://api.douban.com/v2/movie/top250?start=25&count=25,获得25条豆瓣电影TOP250的电影数据,返回结果为一JSON字符串,如下:
可以通过修改URL路径和查询参数,通过浏览器查看API返回的数据格式、数据项和字符编码,比较方便,适用于接口调试。
3)编写代码使用API获取数据。
在实际应用中,往往需要动态调用API获取数据,以下尝试在程序中调用API。
功能代码如下:
import requests
import json
import codecs
file = codecs.open('movie.json', 'w',encoding='utf-8')
#API
url = 'http://api.douban.com/v2/movie/top250'
# 参数列表
start=5
count=25
r = requests.get(url, params={'start': start, 'count': count})
r.encoding='UTF_8'
content=r.json()
file.write(json.dumps(content,ensure_ascii=False))
可以通过更换API和参数列表,调用不同API获得目标数据。
下载movie.json文件到本地查看,部分结果如下所示: