一、前言
爬取数据的方式有两种,一种是通过模拟浏览器操作(前两篇已经介绍过使用playwright爬数据),另一种是通过接口,今天我们将如何通过接口爬取图书网站书籍基本信息。
今天以图书网站:https://spa5.scrape.center/为例,讲一讲。
OK,let's go
上代码
import json
import pandas as pd
import requests
# 取多少条数据
booklimit = 18
# 从第几页取
bookpage = 1
# 请求地址
url = 'https://spa5.scrape.center/api/book/?limit='+str(booklimit)+'&offset='+ str(bookpage*18)
# 请求头
headers ={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36'
}
# 通过地址,请求头发送get请求
r = requests.get(url,headers=headers)
text = r.text
data = json.loads(text)
print(data)
items = data['results']
# print(items)
# print(list(items))
# 将字典类型转换为DataFrame类型
pf =pd.DataFrame(list(items))
print(pf)
# 指定字段顺序
order = ['id','name','authors','cover','score']
pf = pf[order]
# print(pf)
# 将列名替换为中文
columns_map = {
'id':'id',
'name':'姓名',
'authors':'作者',
'cover':'链接',
'score':'评分'
}
pf.rename(columns = co