目录

代码逻辑

详细操作步骤

导入相应的库

获取网络的源代码

提取图片的源地址

获取图片的二进制源码

​保存图片

定义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函数,可以注释掉该行代码

运行效果

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

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐