使用Python编写简单网络爬虫实例:爬取图片

🍎个人主页

🏆个人专栏:日常聊聊

⛳️ 功不唐捐,玉汝于成


目录

​编辑

简介

步骤

1. 安装依赖库

2. 创建目录

3. 发送HTTP请求并解析页面

4. 查找图片标签并下载图片

注意事项

结语

我的其他博客


简介

网络爬虫是一种自动获取网页信息的程序,而Python由于其简洁而强大的语法,常被用于编写网络爬虫。在本博客中,我们将介绍一个简单的Python网络爬虫示例,用于爬取图片。该示例使用了第三方库requests来发送HTTP请求,以及BeautifulSoup来解析HTML页面。

步骤

1. 安装依赖库

确保你已经安装了以下依赖库:

pip install requests beautifulsoup4

2. 创建目录

创建一个目录用于保存下载的图片,我们在示例中将其命名为downloaded_images

import os

if not os.path.exists('downloaded_images'):
    os.makedirs('downloaded_images')

3. 发送HTTP请求并解析页面

使用requests库发送HTTP请求获取页面内容,然后使用BeautifulSoup解析HTML页面。

import requests
from bs4 import BeautifulSoup

url = 'https://example.com'  # 替换为实际的目标网站URL
response = requests.get(url)
html_content = response.text
soup = BeautifulSoup(html_content, 'html.parser')

4. 查找图片标签并下载图片

找到页面中的所有图片标签,遍历这些标签并下载图片。

from urllib.parse import urljoin

img_tags = soup.find_all('img')

for img_tag in img_tags:
    img_url = img_tag.get('src')
    img_url = urljoin(url, img_url)
    
    img_data = requests.get(img_url).content
    img_name = os.path.join('downloaded_images', os.path.basename(img_url))

    with open(img_name, 'wb') as img_file:
        img_file.write(img_data)
        print(f'图片保存成功:{img_name}')

注意事项

  • 实际网站可能有不同的HTML结构和图片链接格式,根据目标网站的具体情况进行适当的修改。
  • 合法使用爬虫,尊重网站的robots.txt文件,避免对目标网站造成不必要的压力。

结语

这个简单的网络爬虫示例演示了如何使用Python获取网页内容并下载图片。通过学习这个例子,你可以进一步了解网络爬虫的基本原理和Python中常用的爬虫工具。在实际应用中,请确保遵守相关法律法规和网站的使用规定。希望这个博客能帮助你入门网络爬虫的世界!

我的其他博客

探索灵活性与可维护性的利器:策略(Strategy)模式详解-CSDN博客

深入探讨敏捷开发项目管理流程与Scrum工具:构建高效团队与卓越产品的秘诀-CSDN博客

vue的生命周期-CSDN博客

什么是tomcat?tomcat是干什么用的?-CSDN博客

Linux 压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法-CSDN博客

腾讯-轻量应用服务器centos7中宝塔安装MySQL8.0出现内存不足-CSDN博客

JVM的类的生命周期-CSDN博客

多线程------Future异步任务-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/256823.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

我的游戏被DDoS攻击了怎么办?

“我的游戏最近一直在被攻击,有什么办法可以解决”,最近遇到不少用户来问德迅云安全提到了自己目前遇到的这个攻击问题,询问有没有什么好的解决办法? 那遇到用户反馈的DDOS攻击,德迅云安全是怎么做的。 很多用户现在遇…

js数组方法总结,数组遍历方法,判断数组方法总结

目录 原生数组方法数组方法用法说明数组乱序和数组拆解会改变数组的方法不改变数组的方法JS 中的数组存储 判断数组的方法数组遍历的方法forEach和map方法有什么区别 原生数组方法 1.数组和字符串转换方法:toString,toLocalString,join&…

如何使用Qu1ckdr0p2快速通过HTTP或HTTPS实现文件托管

关于Qu1ckdr0p2 Qu1ckdr0p2是一款功能强大的文件托管工具,在该工具的帮助下,广大研究人员可以快速通过HTTP或HTTPS托管包括Payload和后渗透代码在内的任何文件。 Qu1ckdr0p2提供了别名和搜索功能,相关功能模块位于qu1ckdr0p2-tools库中。默…

半导体管路连接PFA阀门的应用说明

PFA阀门在半导体行业中具有广泛的应用。以下是PFA阀门在半导体行业中的几个应用领域: 1. 超纯水系统:在半导体行业中,超纯水是一个至关重要的介质,用于洗涤和清洁半导体芯片及其他关键器件。PFA阀门由于其优异的耐腐蚀性和高纯度特…

Java设计模式之七大设计原则

七大设计原则 设计原则概述 单一职责原则 定义 一个类仅有一个引起它变化的原因 分析 模拟场景 访客用户 普通用户 VIP用户 代码实现 /*** 视频用户接口*/ public interface IVideoUserService {void definition();void advertisement(); }/*** 访客用户*/ public class…

【容器Docker】Docker学习笔记

1、什么是Docker: Docker 将程序和程序运行所依赖的所有环境都打包到镜像里。“build once, run anywhere”Docker 是容器的一种实现。 Windows 下如何安装Docker: 官方安装教程:Install Docker Desktop on Windows | Docker Docs有两种安装套装&…

【基础篇】YOLO系列之训练环境(GPU)搭建篇

🚀Pytorch环境配置(Windows) 🔨 Anaconda安装 此处下载安装即可 ⭐温馨提示:安装路径不能含有中文,建议不要安在c盘(很占内存) 环境变量配置 编辑系统环境变量 -> 环境变量 ->…

短视频账号矩阵系统源码3年技术服务部署

安装Web服务器:搭建系统需要一个Web服务器,例如Apache或Nginx。 安装PHP环境:PHP是一种服务器端脚本语言,用于处理Web应用程序中的动态内容。你需要安装和配置PHP环境。 一、安装MySQL数据库:抖音短视频SEO矩阵系统需…

React基础巩固日志1

书写了一篇vue3的基础构建之后,不能带着各位一起学习vue3了,因为我要面试上海的前端岗位了,所以从现在开始,我要带着大家一起学习React了。 以下是我使用react书写的要掌握的react的知识点: ** ** 那么下面我们就一一通…

链路状态路由协议——OSPF

文章目录 一、链路状态路由协议-OSPF1. 开放式最短路径优先(OSPF)2. OSPF 原理介绍3. OSPF 报文4. 邻居状态5. Router ID、邻居和邻接6. 邻居发现7. 数据库同步8. 支持的网络类型9. DR 和 BDR10. DR 和 BDR选举11. OSPF 区域13. OSPF 开销14. OSPF 配置1…

二维码怎么分解成链接?提取二维码内容的方法

现在很多内容都会通过二维码来承载,通过扫码的方式来获取内容,当需要提取二维码图片的内容时,一般会通过二维码解码器的功能来实现。那么具体的处理方法分几个步骤呢,可能还有些小伙伴不太清楚具体的使用技巧,那么下面…

网络轻量化的方法(低秩分解、权重量化、权重剪枝/稀疏化、结构化剪枝/稀疏化和神经网络架构学习)

深度卷积神经网络轻量化技术综述 在现代深度学习应用中,轻量化神经网络已成为一个至关重要的研究领域。以下是一些主要的轻量化方法: 低秩分解: 通过技术如奇异值分解(SVD)将神经网络中的权重矩阵近似为低秩矩阵。这种方法特别适…

轨道车辆中的主动悬挂:文献综述(二)

写在前面 发表于Rail. Eng. Science的Active suspension in railway vehicles: a literature survey一文,全面总结了2020年之前轨道车辆领域主动控制方案的各种重要实现。其主要作者,Bin Fu、Rocco Libero Giossi、Rickard Persson、Sebastian Stichel、…

Apache Doris 在奇富科技的统一 OLAP 场景探索实践

导读:随着消费信贷规模快速增长,个人信贷市场呈现场景化、体验感强的特征,精准营销、精细化风险管理以及用户使用体验的优化愈发重要。作为中国卓越的由人工智能驱动的信贷科技服务平台,奇富科技选择将 Apache Doris 作为整体 OLA…

《volatile使用与学习总结:2023-12-17》多层面分析学习java关键字--volatile

一、简介 volatile是java中提供的一种轻量级的同步机制,相比于synchronized更加轻量,因为volatile避免了线程频繁的上下文切换和调度,但是也有缺点,同步性差并且使用起来易出错。 二、并发编程的三个概念 原子性 原子性即一个操…

基于JAVA+SpringBoot+Vue的前后端分离的学校请假管理系统

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 系统分为四个角色&…

直播种类之图片直播

图片直播是一种通过即时拍摄,实现即时共享图片的直播模式。通过互联网技术和智能硬件技术的支持,从摄影师按下快门起,实现照片0.2秒钟上传,实现了真正的即拍即传。 它可以通过将摄像头拍摄到的实时画面和声音信号传输到网络平台&…

如何使用AnyTXT Searcher实现远程办公速查异地电脑文件提升工作效率

如何使用AnyTXT Searcher实现远程办公速查异地电脑文件提升工作效率 前言1. AnyTXT Searcher1.1 下载安装AnyTXT Searcher 2. 下载安装注册cpolar3. AnyTXT Searcher设置和操作3.1 AnyTXT结合cpolar—公网访问搜索神器3.2 公网访问测试 4. 固定连接公网地址 前言 你是否遇到过…

Windows本地搭建开源企业管理套件Odoo并实现公网访问

文章目录 前言1. 下载安装Odoo:2. 实现公网访问Odoo本地系统:3. 固定域名访问Odoo本地系统 前言 Odoo是全球流行的开源企业管理套件,是一个一站式全功能ERP及电商平台。 开源性质:Odoo是一个开源的ERP软件,这意味着企…

Amazon CodeWhisperer 体验

文章作者:jiangbei 1. CodeWhisperer 安装 1.1 先安装 IDEA,如下图,IDEA2022 安装为例: 亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者…