前面我们说到如何使用爬虫进行简单的图片爬取,那么接下来我们就来看看,如何爬取JSON数据。我们知道,JSON数据是一种十分重要的数据交换格式,很多网站都会利用JSON进行数据的传递,因此了解JSON数据的爬取还是十分重要的。

第一步还是分析要爬取的数据的URL。通过控制台我们可以发现,豆瓣的JSON数据的URL为:https://movie.douban.com/j/chart/top_list?type=17&interval_id=100%3A90&action=&start=0&limit=20

接下去开始编写代码:
# 需求:爬取豆瓣电影的分类排行榜
import urllib.request as urq
from io import StringIO
import pandas as pd
# 1.先分析豆瓣的url 得到了我们需要的url
url = 'https://movie.douban.com/j/chart/top_list?type=17&interval_id=100%3A90&action=&start=0&limit=20'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/'
'537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36'}
# 2.获取数据
req = urq.Request(url, headers=headers)
# 3.调用urlopen
res=urq.urlopen(req)
# 4.读取数据 read
data = res.read().decode("utf-8")
# 5.利用pandas解析得到的json数据
df = pd.read_json(StringIO(data))
# 6.获取想要的字段 rank regions title actors
final_data = df[['rating', 'regions', 'title', 'actors']]
# 7.把得到的这些数据 保存到本地 注意乱码问题:encoding="utf_8_sig"
final_data.to_csv("G:\\douban\\result.csv", encoding="utf_8_sig")
运行完以上程序后我们打开CSV文件:

JSON数据已成功爬取并保存。