爬取图片操作(从指定网页中提取图片地址并下载保存图片)

本文介绍了如何使用Python编写一个简单的爬虫,通过get_html函数获取网页源代码,解析图片URL,利用requests获取图片二进制内容,然后保存到本地。主要涉及到了网络请求、HTML解析和文件操作等技术。
摘要由CSDN通过智能技术生成

目录

代码逻辑

详细操作步骤

导入相应的库

获取网络的源代码

提取图片的源地址

获取图片的二进制源码

​保存图片

定义main函数调用get_html函数

使用for循环便利列表

执行main函数

运行效果


代码逻辑

在主程序中,你可以调用上述函数来实现功能:

  • 调用get_html函数获取指定网址的源代码。
  • 将源代码传入parse_pic_url函数,获取图片的源地址列表。
  • 遍历图片源地址列表,在每个地址上调用get_pic_content函数获取图片的二进制源码。
  • 将二进制源码和图片文件名传入save_pic函数,保存图片到本地。

需要注意的是,程序中假设要保存的图片都是jpg格式,并将保存的路径设为"大熊猫/"下。如果你要使用该程序,请确保已经创建了一个名为"大熊猫"的文件夹,并提供正确的网址和头部信息。

如果你已经在代码中定义了main函数,可以取消注释if __name__ == '__main__':这一行代码,并在该行代码之后调用main函数,以执行整个程序。

详细操作步骤

导入相应的库

导入了requests、re和os库,用于发送网络请求、进行正则表达式匹配和进行文件操作。


获取网络的源代码

定义get_html函数:该函数用于发送网络请求并返回网页的源代码。它接收两个参数,url表示要请求的网址,headers表示请求时的头部信息。函数发送GET请求,并设置编码为utf-8,如果请求成功则返回源代码,否则打印出错信息。


提取图片的源地址

定义parse_pic_url函数:该函数用于从网页源代码中提取图片的源地址。它接收一个参数,html表示网页的源代码。函数使用re.findall函数和正则表达式来匹配这段源代码中的图片地址信息,并将匹配结果返回。


获取图片的二进制源码

定义get_pic_content函数:该函数用于获取图片的二进制源码。它接收一个参数,url表示图片的地址。函数使用requests库发送GET请求获取图片的内容,并返回其二进制源码。


保存图片

定义save_pic函数:该函数用于保存图片。它接收两个参数,content表示图片的二进制源码,pic_name表示要保存的图片文件名。函数使用with open语句打开一个文件,以二进制写入模式写入图片内容,并关闭文件。


定义main函数调用get_html函数

  1. 调用get_html函数获取指定网址的源代码,并将返回结果赋值给变量html。

  2. 调用parse_pic_url函数,将html作为参数传入,提取出图片的源地址列表,并将返回结果赋值给变量result。

  3. 初始化变量pic_name为0。

那么url和headers内容怎么写?这里以爬取大熊猫图片为例,搜索后单击右键,再点击检查,出来下图,如果里面没有内容就刷新一下或把网页往下拉就会有了

按上图顺序点击,出现下图


使用for循环便利列表

  1. 使用for循环遍历result列表中的每个图片源地址。

  2. 在循环内部,首先调用get_pic_content函数,将item(图片源地址)作为参数传入,获取图片的二进制源码,并将返回结果赋值给变量pic_content。

  3. 调用save_pic函数,将pic_content和pic_name作为参数传入,保存图片到本地。

  4. 增加pic_name的值,用于标识不同的图片。

  5. 打印"正在保存第 x 张图片"的提示信息


执行main函数

如果尚未定义main函数,可以注释掉该行代码

运行效果

希望上文能对大家有所帮助,谢谢观看!

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值