可以看出,只有部分数字不同,其他相同
(1)导入请求模块
# 1.导入请求模块
from urllib import request
import json
(2)发起请求,将请求结果赋予response
# 2. 发起请求 将请求结果赋予response
page = 1
while True:
res = request.urlopen(
f"https://image.baidu.com/search/albumsdata?pn={30 * page}&rn=30&tn=albumsdetail&word=%E5%AE%A0%E7%89%A9%E5%9B%BE%E7%89%87&album_tab=%E5%8A%A8%E7%89%A9&album_id=688&ic=0&curPageNum={page}")
page += 1
(3)获取请求返回值,此时需要解码,将类型转换为字典
# 3.获取请求返回值,解码,将类型转换为字典
res = res.read().decode()
res = json.loads(res)
(4)解析数据
# 4.解析数据
datas = res['albumdata']['linkData']
for data in datas:
image_url = data['thumbnailUrl']
(5)请求图片
# 5.请求图片
res_image = request.urlopen(image_url)
res_image = res_image.read()
(6)保存图片
count += 1
file = open(f"{count}.jpg", "wb")
file.write(res_image)
file.close()
if len(datas) != 30:
break
print(f"总共{count}张图片")
最后,爬取到的图片就成功的保存到了本地文件夹里。
第一次清晰地直观地感受爬虫,好有趣,期待以后系统的学习!!