使用python爬取图片

embedded/2024/9/25 23:19:44/

使⽤ requests 库来获取⽹⻚内容,并⽤ BeautifulSoup 来解析HTML,找到所有图⽚的URL。然后,可以⽤ requests 再次下载这些图⽚并将它们保存到本地。

以下是⼀个简单的图⽚下载器的⽰例代码。这个脚本会下载指定⽹⻚上的所有图⽚到⼀个名为downloaded_images 的本地⽂件夹中。请确保在运⾏脚本之前已经创建了这个⽂件夹,或者修改脚本以创建它。

python">import requests
from bs4 import BeautifulSoup # requests 和 BeautifulSoup 为第三方库,需要安装 ,安装命令:  pip install requests BeautifulSoup
import os#目标网页地址
url='https://kkmzt.com/'#发生HTTP GET请求
response = requests.get(url)# 确保请求成功
if response.status_code == 200:#使用 BeautifulSoup 解析网页内容soup = BeautifulSoup(response.text,'html.parser')print(soup)# 创建保存图⽚的⽬录folder_path = 'downloaded_images'if not os.path.exists(folder_path):os.makedirs(folder_path)# 查找所有图⽚标签for img in soup.find_all('img'):img_url = img.get('src')# 确保img_url不为空且为完整的URLif img_url and img_url.startswith('http'):img_data = requests.get(img_url).contentimg_name = os.path.join(folder_path, img_url.split('/')[-1])# 写⼊图⽚数据到⽂件with open(img_name, 'wb') as file:file.write(img_data)print(f'Downloaded {img_name}')
else:print('请求失败,状态码:',response.status_code)

这个脚本图⽚的URL是完整的(即,以 http 或 https 开始)。有些⽹站可能使⽤相对路径来指向图⽚,在这种情况下,需要修改脚本来构建完整的URL。

此外,由于⽹络请求的性质,尝试下载⼤量图⽚或从响应时间较⻓的服务器下载时,脚本可能会运⾏较慢。在本地环境中运⾏上述脚本时,需替换 url 变量的值为你想要下载图⽚的⽹⻚地址,然后运⾏脚本。

如果⽹⻚上的图⽚URL是完整的,脚本将会下载所有找到的图⽚到指定的⽂件夹中。


http://www.ppmy.cn/embedded/40662.html

相关文章

5G NR 吞吐量计算 and 4G LTE 吞吐量计算

5G NR Throughput References • 3GPP TS 38.306 V15.2.0 (2018-06) ➤J : number of aggregated component carriers in a band or band combination ➤Rmax : 948/1024 • For the j-th CC, Vlayers(j) is the maximum number of layers ➤Qm(j) : Maximum modulation orde…

C++类和对象中篇

🐇 🔥博客主页: 云曦 📋系列专栏:[C] 💨路漫漫其修远兮 吾将而求索 💛 感谢大家👍点赞 😋关注📝评论 文章目录 📔前言📔1、类的六个…

自动秒收录网址导航分类目录模板

自动秒收录网址导航是一个以html5css3进行开发的免费版网址自动收录模板源码。 模板特点:全站响应式H5网站制作技术,一个网站适应不同终端,模板支持网址导航一键采集入库,免规则文章资讯智能批量采集内置伪原创,本地化…

理解并实现区块链智能合约

理解并实现区块链智能合约是一个涉及多个技术层面的过程。智能合约是自动执行、管理区块链上交易或协议的程序。它们在满足预设条件时自动执行合约条款,从而减少了中间人的需要,并提高了透明度和效率。下面是智能合约的基本概念和实现步骤: …

引入 Redis

简介 Jedis Jedis 是早期的 Redis 的 Java 实现客户端,提供了比较全面的 Redis 命令的支持,其官方网址是:http://tool.oschina.net/uploads/apidocs/redis/clients/jedis/Jedis.html 优点:支持全面的 Redis 操作特性&#xff0…

mysql8.0常用语法

文章目录 开窗函数字段拆分递归关联查询 开窗函数 开窗函数 ,可以按组查询排列数据,且给每一行值都返回指定的聚合值,语法如下: 开窗函数 over([PARTITION BY 分组字段(多个用,链接)] [ORDER BY 排序字段(同前)])开窗函数分为两…

5款采用AMD Instinct MI300芯片的超酷AI和HPC服务器

我们收集了戴尔科技、联想、超微和技嘉的五款超酷人工智能和高性能计算服务器,这些服务器使用 AMD 的 Instinct MI300 芯片,该芯片于几个月前推出,旨在挑战 Nvidia 在人工智能计算领域的主导地位。 AMD 正在凭借其 Instinct MI300 加速器芯片…

系统和功能测试:确保软件的功能和易用性

目录 概述 功能测试 LOSED 模型 用例的设计 等价类划分 边界值分析 循环结构测试的综合方法 因果图 决策表 功能图 正交实验设计 易用性测试 内部易用性测试 外部易用性测试 功能性测试 正向功能性测试 负向功能性测试 功能性测试工具 结语 概述 在软件开发…