基于API的爬虫的一般步骤
- 在网站注册开发者账户用户名,获得相应的开发者密钥
- 在网站的API帮助说明文档中找到自己需要使用的API,确认API请求的限制次数,确认调用API需要使用的参数
- 在联网状态下,编写正确代码调用API
- 从API返回的内容(JSON格式)获取正确的属性
- 将获取的内容存储到本地(文件或数据库)
举例:从豆瓣电影上爬取《摔跤吧,爸爸》电影的评分,并保存到本地
# 使用工具是Jupyter Notebook 和 Python3
第一步:利用Python读取url的核心代码如下:
import urllib.request as urlrequest url_visit = 'https://api.douban.com/v2/movie/26387939' crawl_content = urlrequest.urlopen(url_visit).read() print(crawl_content.decode('unicode-escape'))
第二步:利用 python 解析 JSON 代码
import json json_content = json.loads(crawl_content.decode('utf8')) rating = json_content['rating']['average'] print(rating)
第三步:将数据存到本地
id=26387939 rating=json_content['rating']['average'] with open("movie_score.txt", "a") as outputfile: outputfile.write("{} {}\n".format(id, rating))
说明:
- 这里我们想将电影的id和评分写入文件,就先把两个参数记录下来。
- python中写文件用
with open("文件名","a") as outputfile:
的形式,这里文件名可以根据你的需要自行更改。 outputfile.write
表示将数据写入文件的操作,("{} {}\n".format(id,rating))
是需要写入文件的具体内容,使用format()
以固定形式组织id
和rating
的值,放入我们设定好的位置"{} {}"
中(\n
表示换行)。