300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > python3 爬取图片并分页保存在文件夹中

python3 爬取图片并分页保存在文件夹中

时间:2024-06-13 07:18:41

相关推荐

python3 爬取图片并分页保存在文件夹中

目标

/search-image/fengjing/中的图片

过程分析

网页分析

这次爬取的比较简单,要爬取的内容很容易就找到了。

换页

点击下一页,看到网址变成/search-image/fengjing/?page=2了;很明显,page变了,换页利用这一点就可以实现。

图片内容

爬取图片链接读取内容:

picture_content = requests.get(i).content

保存在文件夹内

为每一页创建一个文件夹,利用变量k来表示当前页数(当前循环)。

首先判断当前目录下是否存在同名文件:

isExists = os.path.exists('风景' + str(k)) # 判断文件夹是否存在

如若不存在则创建:

if not isExists:os.mkdir('风景' + str(k)) # 不存在便创建

进入创建的文件夹:

os.chdir('D:\code\图片爬虫\风景' + str(k)) # 进入新建文件夹

爬取结束后,还需返回上层文件,否则会在创建的文件夹下继续工作了。

os.chdir('D:\code\图片爬虫') # 返回上层文件夹,根据自己的路径修改

完整代码

import requestsimport reimport osurl = '/' # 图片首址target = 'search-image/fengjing/?page=' # 第一页(可以看出search-image是搜索模块,fengjing是搜索内容,page即为结果页数headers = {'User - Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko'} # 设置头,浏览器代码for k in range(1, 4): # 爬取1-3页url1 = url + target + str(k)print('当前爬取网页:' + url1)html = requests.get(url1, headers=headers).text # 获取网页内容pattern = pile('<img alt="风景图片素材_图片ID:.*?" src="(.*?)"/>')picture = pattern.findall(html) # 获取图片链接# print(picture)pattern1 = pile('<img alt="风景图片素材_图片ID:(.*?)" src=".*?"/>')picture_name = pattern1.findall(html) # 获取图片名称# print(picture_name)isExists = os.path.exists('风景' + str(k)) # 判断文件夹是否存在if not isExists:os.mkdir('风景' + str(k)) # 不存在便创建print('文件夹“风景' + str(k) + '”创建成功')else:passos.chdir('D:\code\图片爬虫\风景' + str(k)) # 进入新建文件夹for i, j in zip(picture, picture_name): # 要点:同时遍历两个list,用zip的方法filename = j + '.jpg' # 创建jpg文件并命名为当前获取的picture_namepicture_content = requests.get(i).content # 获取图片内容with open(filename, 'wb') as f: # 保存f.write(picture_content) # 写入内容print('图片' + j + '保存成功')print('the img is :' + i)f.close()os.chdir('D:\code\图片爬虫') # 返回上层文件夹,根据自己的路径修改

如果觉得有用请多多支持,谢谢!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。