当前位置: 首页 > news >正文

python入门实战:爬取图片到本地

    简单记录一下爬取网站图片保存到本地指定目录过程,希望对刚入门的小伙伴有所帮助!
    目标网站就是下图所示页面:
在这里插入图片描述
实现步骤:
    1.爬取每页的图片地址集合
    2.下载图片到本地
    3. 获取指定页数的页面路径
以下是实现代码:

import bs4
import requests
import os
# 下载图片到本地 
def down_load_img(local_path,img_url):img_name = os.path.basename(img_url[img_url.rfind("/")+1:len(img_url)])with open(f"{local_path}\{img_name}","wb") as imgFile:res = requests.get(img_url)if res.status_code == 200:resp = imgFile.write(res.content)if resp is not None:print(f"{img_name}下载成功!")else:print(f"{img_name}下载失败!")else:print(f"{img_name}请求失败,下载失败!")# 获取每页的图片地址
def get_img_url(website_url):return_img_url_list=[]res = requests.get(website_url)if res.status_code != 200:print("请求失败!")website_content = res.contentsoup = bs4.BeautifulSoup(website_content, "html.parser")img_url_list = soup.find_all("div", class_="pic")for imgUrl in img_url_list:style_info = imgUrl["style"]img = style_info[style_info.find("(") + 1:style_info.find(")")]return_img_url_list.append(img)return return_img_url_list
# 获取指定页数的页面路径
def get_website_url(page_num):website_format="https://pic.netbian.top/4kmeinv/index_{}.html"web_site_url_list=[]for i in range(1,page_num+1):web_site_url_list.append(f"https://pic.netbian.top/4kmeinv/index_{i}.html")return web_site_url_listif __name__ == '__main__':local_path="D:\mvImg"page_num=2for website_url in get_website_url(page_num):for img_url in get_img_url(website_url):down_load_img(local_path,img_url)
http://www.lryc.cn/news/212981.html

相关文章:

  • day02 矩阵 2023.10.26
  • 浪潮信息inMerge超融合 刷新全球vSAN架构虚拟化VMmark最佳成绩
  • 【【哈希应用】位图/布隆过滤器】
  • OpenCV学习笔记
  • idea 一键部署jar包
  • 16、SpringCloud -- 常见的接口防刷限流方式
  • Typora(morkdown编辑器)的安装包和安装教程
  • 服务器不稳定对网站有什么影响
  • py实现surf特征提取
  • MS39233三个半桥驱动器可兼容TMC6300
  • 09、SpringCloud -- 利用redis的原子性控制高并发请求访问到service层、本地标识
  • 竞赛选题 深度学习图像修复算法 - opencv python 机器视觉
  • 基于深度学习网络的美食检测系统matlab仿真
  • 人工智能基础_机器学习006_有监督机器学习_正规方程的公式推导_最小二乘法_凸函数的判定---人工智能工作笔记0046
  • 【MongoDB】Windows 安装MongoDB 6.0
  • DM8 Dokcer镜像更新后远程无法jdbc连接问题
  • AI:39-基于深度学习的车牌识别检测
  • 软考 系统架构设计师系列知识点之系统架构评估(1)
  • Spark UI中Shuffle dataSize 和shuffle bytes written 指标区别
  • Java——Map.getOrDefault方法详解
  • 银河集团香港优才计划95分获批案例展示!看看是如何申请的?
  • Python class中以`_`开头的类特殊方法
  • 2023云栖大会开幕:全球数万开发者参会,展现AI时代的云计算创新
  • [量化投资-学习笔记004]Python+TDengine从零开始搭建量化分析平台-EMA均线
  • KaiwuDB 获山东省工信厅“信息化应用创新优秀解决方案”奖
  • Python-常用的量化交易代码片段
  • Netty优化-rpc
  • 【Docker 内核详解】cgroups 资源限制(一):概念、作用、术语
  • MATLAB——一维小波的多层分解
  • C++的拷贝构造函数