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

7篇Python爬虫实例,直接代码可运行,全网最全,注释超详细(适合收藏)——2、爬取图片信息。

7篇Python爬虫实例,可直接运行,适合收藏

python爬虫7篇实例,分七个文章进行发布;第二篇:爬取图片信息。

  • 爬取图片信息,并将每张图片都下载下来。

爬虫主要三部分:
1、获取数据
2、数据解析
3、调用函数

  • 先上完整代码: 代码后面进行一步步解析。
import requests
from bs4 import BeautifulSoup
import osindex = range(2,5)
urls = []
for i in index:urls.append(f'https://pic.netbian.com/4kdongman/index_{i}.html')# https://pic.netbian.com/tupian/34851.html# 传入单个网页,获取网页上所有得图片链接
def craw_single_url(url):re = requests.get(url)re.encoding = 'gbk'soup = BeautifulSoup(re.text,'html.parser')pics_links = soup.find_all('img')links = []for link in pics_links:if 'uploads' not in link['src']:continuelinks.append(f'https://pic.netbian.com{link['src']}')return links# 传入图片链接,将图片下载到文件夹中
def imgs_download(links):for link in links:re = requests.get(link)pic_name = os.path.basename(link)with open(f'图片/{pic_name}','wb') as f:   # w : 写入 b : 二进制写入f.write(re.content)# 循环爬取的网页链接,将所有网页的 links 放入元组中
links = []
for url in urls:for link in craw_single_url(url):links.append(link)# 将所有的 link 图片下载下来
imgs_download(links)

1、获取数据

  • 该函数是获取该 url 链接下所有图片的链接
  • 函数返回值是:所有图片的链接
def craw_single_url(url):re = requests.get(url)          # 请求 urlre.encoding = 'gbk'             # gbk格式soup = BeautifulSoup(re.text,'html.parser')     # 创建一个 BeautifulSoup 对象,之后对其解析pics_links = soup.find_all('img')                       # 在soup 中找到 img 的链接links = []for link in pics_links:                                 # 循环每个链接if 'uploads' not in link['src']:                    # 判断是否正确的链接continuelinks.append(f'https://pic.netbian.com{link['src']}')   # 构建真正的图片链接return links

2、数据解析

  • 对获取到的图片 urls 进行解析
  • 循环 urls 下载图片到指定文件中
def imgs_download(links):                       # 下载图片函数for link in links:                          # 对传入图片链接进行循环re = requests.get(link)                 # 请求单个链接pic_name = os.path.basename(link)       # 获得图片的名字with open(f'图片/{pic_name}','wb') as f: # 打开 图片 文件夹进行写入 w : 写入 b : 二进制写入f.write(re.content)                 # 将图片保存到 图片 文件夹

3、进行调用

# 循环爬取的网页链接,将所有网页的 links 放入元组中
links = []              
for url in urls:                        # 循环每个页面for link in craw_single_url(url):   # 将每个页面得到的图片urls,放入 links列表   links.append(link)              # 放入 links列表   # 将所有的 link 图片下载下来
imgs_download(links)                    # 再调用 imgs_download 函数,对每张图片进行下载
http://www.lryc.cn/news/477955.html

相关文章:

  • 25.停车场管理系统(基于web的Java项目)
  • 展览搭建公司怎么跟展会主办打好交道
  • 软件开发方法
  • 「Mac畅玩鸿蒙与硬件24」UI互动应用篇1 - 灯光控制小项目
  • 十二:java web(4)-- Spring核心基础
  • new和malloc有什么区别,他们的用法是什么?malloc分配失败会导致什么问题
  • 了解SQLExpress数据库
  • geoserver创建一个根据属性显示不同形状的点样式
  • 中国遗传学会2024全国学术研讨会在长沙成功召开
  • Android Studio 多工程公用module引用
  • (实战)WebApi第9讲:EFCore性能优化(IQueryable延迟查询、取消跟踪机制)
  • Java实现pdf转图片
  • 健身房管理新纪元:SpringBoot技术应用
  • Java之字符串分割转换List
  • RabbitMQ如何保证发送的消息可靠(RabbitMQ的Confirm模式和2.Return模式)
  • 适配器模式:类适配器与对象适配器
  • volatile原理
  • 【AI神器】SD(Stable Diffusion)一键安装包
  • lanqiaoOJ 1112:小王子双链表 ← STL list
  • C#WPF之快速理解MVVM模式
  • 微积分[1]|微积分的底层逻辑——解析几何、不等式与极限(含博主推荐的数理阅读教材共计21本书籍)
  • 1-磁盘建立空闲分区
  • 使用SearXNG-搭建个人搜索引擎(附国内可用Docker镜像源)
  • InnoDB 存储引擎<五>undo log, redo log,以及双写缓冲区
  • Find My运动耳机|苹果Find My技术与耳机结合,智能防丢,全球定位
  • 书生大模型实战营Linux+InternStudio 关卡任务
  • 研究实锤:别让大模型「想」太多,OpenAI o1准确率竟下降36.3%
  • C++游戏开发
  • ChatGPT中的RAG;大模型微调;通过正确的提问和回答数据进行问答系统的微调;
  • 6款IntelliJ IDEA插件,让Spring和Java开发如虎添翼