如何使用Python自动爬取图片并保存
发表于:2025-11-14 作者:千家信息网编辑
千家信息网最后更新 2025年11月14日,小编给大家分享一下如何使用Python自动爬取图片并保存,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、准备工作用pyt
千家信息网最后更新 2025年11月14日如何使用Python自动爬取图片并保存
小编给大家分享一下如何使用Python自动爬取图片并保存,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
一、准备工作
用python来实现对百度图片的爬取并保存,以情绪图片为例,百度搜索可得到下图所示

f12打开源码

在此处可以看到这次我们要爬取的图片的基本信息是在img - scr中
二、代码实现
这次的爬取主要用了如下的第三方库
import reimport timeimport requestsfrom bs4 import BeautifulSoupimport os
简单构思可以分为三个小部分
1.获取网页内容
2.解析网页
3.保存图片至相应位置
下面来看第一部分:获取网页内容
baseurl = 'https://cn.bing.com/images/search?q=%E6%83%85%E7%BB%AA%E5%9B%BE%E7%89%87&qpvt=%e6%83%85%e7%bb%aa%e5%9b%be%e7%89%87&form=IGRE&first=1&cw=418&ch=652&tsc=ImageBasicHover'head = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"} response = requests.get(baseurl, headers=head) # 获取网页信息 html = response.text # 将网页信息转化为text形式是不是so easy
第二部分解析网页才是大头
来看代码
Img = re.compile(r'img.*src="(.*?)"') # 正则表达式匹配图片soup = BeautifulSoup(html, "html.parser") # BeautifulSoup解析html #i = 0 # 计数器初始值 data = [] # 存储图片超链接的列表 for item in soup.find_all('img', src=""): # soup.find_all对网页中的img-src进行迭代 item = str(item) # 转换为str类型 Picture = re.findall(Img, item) # 结合re正则表达式和BeautifulSoup, 仅返回超链接 for b in Picture: data.append(b) #i = i + 1 return data[-1] # print(i)这里就运用到了BeautifulSoup以及re正则表达式的相关知识,需要有一定的基础哦
下面就是第三部分:保存图片
for m in getdata( baseurl='https://cn.bing.com/images/search?q=%E6%83%85%E7%BB%AA%E5%9B%BE%E7%89%87&qpvt=%e6%83%85%e7%bb%aa%e5%9b%be%e7%89%87&form=IGRE&first=1&cw=418&ch=652&tsc=ImageBasicHover'): resp = requests.get(m) #获取网页信息 byte = resp.content # 转化为content二进制 print(os.getcwd()) # os库中输出当前的路径 i = i + 1 # 递增 # img_path = os.path.join(m) with open("path{}.jpg".format(i), "wb") as f: # 文件写入 f.write(byte) time.sleep(0.5) # 每隔0.5秒下载一张图片放入D://情绪图片测试 print("第{}张图片爬取成功!".format(i))各行代码的解释已经给大家写在注释中啦,不明白的地方可以直接私信或评论哦~
下面是完整的代码
import reimport timeimport requestsfrom bs4 import BeautifulSoupimport os # m = 'https://tse2-mm.cn.bing.net/th/id/OIP-C.uihwmxDdgfK4FlCIXx-3jgHaPc?w=115&h=183&c=7&r=0&o=5&pid=1.7''''resp = requests.get(m)byte = resp.contentprint(os.getcwd())img_path = os.path.join(m)'''def main(): baseurl = 'https://cn.bing.com/images/search?q=%E6%83%85%E7%BB%AA%E5%9B%BE%E7%89%87&qpvt=%e6%83%85%e7%bb%aa%e5%9b%be%e7%89%87&form=IGRE&first=1&cw=418&ch=652&tsc=ImageBasicHover' datalist = getdata(baseurl) def getdata(baseurl): Img = re.compile(r'img.*src="(.*?)"') # 正则表达式匹配图片 datalist = [] head = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36 Edg/92.0.902.67"} response = requests.get(baseurl, headers=head) # 获取网页信息 html = response.text # 将网页信息转化为text形式 soup = BeautifulSoup(html, "html.parser") # BeautifulSoup解析html # i = 0 # 计数器初始值 data = [] # 存储图片超链接的列表 for item in soup.find_all('img', src=""): # soup.find_all对网页中的img-src进行迭代 item = str(item) # 转换为str类型 Picture = re.findall(Img, item) # 结合re正则表达式和BeautifulSoup, 仅返回超链接 for b in Picture: # 遍历列表,取最后一次结果 data.append(b) # i = i + 1 datalist.append(data[-1]) return datalist # 返回一个包含超链接的新列表 # print(i) '''with open("img_path.jpg","wb") as f: f.write(byte)''' if __name__ == '__main__': os.chdir("D://情绪图片测试") main() i = 0 # 图片名递增 for m in getdata( baseurl='https://cn.bing.com/images/search?q=%E6%83%85%E7%BB%AA%E5%9B%BE%E7%89%87&qpvt=%e6%83%85%e7%bb%aa%e5%9b%be%e7%89%87&form=IGRE&first=1&cw=418&ch=652&tsc=ImageBasicHover'): resp = requests.get(m) #获取网页信息 byte = resp.content # 转化为content二进制 print(os.getcwd()) # os库中输出当前的路径 i = i + 1 # 递增 # img_path = os.path.join(m) with open("path{}.jpg".format(i), "wb") as f: # 文件写入 f.write(byte) time.sleep(0.5) # 每隔0.5秒下载一张图片放入D://情绪图片测试 print("第{}张图片爬取成功!".format(i))最后的运行截图
以上是"如何使用Python自动爬取图片并保存"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
图片
网页
信息
正则
表达式
链接
代码
内容
情绪
篇文章
测试
成功
二进制
形式
文件
知识
类型
计数器
路径
部分
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
河北智慧社区管理平台软件开发
服务器管理机
数据库安全 一致性
网络安全最缺什么样的人
网络安全的四个方法
国三网络技术通过率
大公司服务器是如何放到水底的
深圳云彩互联网科技有限公司
服务器开小差了
asp验证数据库
幼儿园网络安全课主题班会
查询数据库锁表语句333
服务器odm管理流程
谦韧网络安全
凯乐网络技术有限公司
201610计算机网络安全
举例说明数据库技术应用
数据库对象创建
软件开发近五年的职业规划
黑魂3一直无法登陆服务器
珠海物联水电缴费软件开发团队
入侵移动集团服务器
阿里云服务器自动重启
办公软件开发说明书
北京大学图书馆红楼梦数据库
军营网络安全宣传月讨论
mssql数据库导出
阜阳市青创网络技术有限公司
网络安全海盾
网络安全宣传周妇联宣传