代码如下:
import requests
import re
import time
imgs_list = [] #设置空列表imgs_list,用来存储所有的页面爬取的图片路径
def download1(page):
url="https://www.qiushibaike.com/imgrank/page/"+str(page)+"/" #设置请求网址
headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"} #设置请求头
html=requests.get(url,headers=headers).text #伪装浏览器对url进行请求,并将请求的文本内容赋值给html
regex1='<div class="thumb">.*?<img src="(.*?)" alt.*?</div>' #设置正则匹配规则,匹配图片的路径
img_list=re.findall(regex1,html,re.S) #re.S为单行匹配,必须放
imgs_list.extend(img_list) #imgs_list扩展img_list
return imgs_list #返回图片列表
if __name__=="__main__":
for i in range(1,14): #共计有13页图片,故遍历13次
download1(i) #执行下载图片的函数download1
print(imgs_list)
j=1 #
for img in imgs_list:
headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"} # 设置请求头
html1=requests.get(url="https:"+str(img),headers=headers).content
with open(r"F:\PPT图片\糗事百科\{}.jpg".format(j),"wb") as f: #以写入方式打开F盘PPT图片下面路径为糗事百科的文件夹,并设置为f
f.write(html1) #将图片存入f
j=j+1
print("{}下载成功".format(img))