【Python爬虫】简单案例介绍1

news2025/4/16 6:00:24

目录

三、Python爬虫的简单案例

3.1 网页分析

单页


三、Python爬虫的简单案例

本节以科普中国网站为例。

3.1 网页分析

单页

在运用 Python 进行爬虫开发时,一套严谨且有序的流程是确保数据获取高效、准确的关键。首先,深入分析单个页面的页面结构是整个爬虫开发的基石。每个页面都如同一个独特的 “数据容器”,其 HTML 标签、CSS 类名以及元素的层级关系等,都蕴含着数据提取的线索。

通过仔细剖析这些结构信息,我们能够精准定位到所需数据所在的位置,例如文章的标题可能位于<h1>标签下某个特定的类中,正文内容或许被包裹在<p>标签的集合里。只有精确掌握这些细节,才能编写针对性强的代码来提取数据,避免在海量信息中盲目寻找,提高数据提取的准确性和效率。

(1)首先打开网站,在需要获取信息的标签处右击“检查”打开浏览器开发者工具,如下图所示,

然后,在浏览器开发者工具中点击“元素Elements”。 如下图所示,我们想要爬取的文章信息包括:

  • 文章标题,文章正文,网页链接

  • 文章tag,发布者,发布时间

  • 图片数量,页底标签,网页链接

(2)可以看到我们想要爬取的文章信息都是保存在一个列表里:类名为"list-block"的div标签

这个list-blocks列表中又包括21个小的类名为"list-block _blockParma"的div标签,这也说明了每个页面都有21条文章信息。所以我们首先第一步需要先爬取这个列表数据。

(3)第一步,我们需要request请求科普中国网站地址url,解析得到类名为"list-block"的div标签

(4)在上一步爬取到这个列表数据之后,第二步,我们需要for循环遍历这个div列表里的每个子div,我们就可以提取到文章标题,文章标题url,内容来源,内容来源url,发布时间等信息。

如下图所示,

(5)经过上一步,我们已经解析得到了当前一个页面上21条文章的文章标题,文章标题url,内容来源,内容来源url,发布时间

接下来,如果我们想要获取对应这篇文章更详细的信息,比如文章内容。我们就需要再次request请求某个具体的文章的文章标题url,这样就可以在请求的响应结果中会得到该具体文章的页面源代码,从中解析得到文章正文部分

如下图所示,

除此之外,我们还可以从中解析得到这篇文章的其他信息,比如正文部分中包含的图片url以及数量。

因为,从文章正文部分中包含的图片的url地址中可以发现其存储规律,进而可以通过过滤法来采集得到图片url和数量。

如下图所示,

在成功爬取单个文章页面信息后,我们现在可以顺利获取到21篇文章的详细数据了。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LLM-as-Judge真的更偏好AI输出?

论文标题 Do LLM Evaluators Prefer Themselves for a Reason? 论文地址 https://arxiv.org/pdf/2504.03846 代码地址 https://github.com/wlchen0206/llm-sp 作者背景 弗吉尼亚大学&#xff0c;乔治华盛顿大学 实践建议 在将LLM部署为评估器之前&#xff0c;应严格评…

【软考-架构】13.3、架构复用-DSSA-ABSD

✨资料&文章更新✨ GitHub地址&#xff1a;https://github.com/tyronczt/system_architect 文章目录 1、软件架构复用2、特定领域软件架构DSSADSSA的三个基本活动参与DSSA的四种角色人员建立DSSA的过程三层次模型 考试真题第一题第二题 3、基于架构的软件开发ABSD的软件开发…

色温插值计算借鉴

色温插值计算方法借鉴&#xff1a; 摘至&#xff1a;Understanding the in-camera rendering pipeline & the role of AI and deep learning

SnailJob:分布式环境设计的任务调度与重试平台!

背景 近日挖掘到一款名为“SnailJob”的分布式重试开源项目,它旨在解决微服务架构中常见的重试问题。在微服务大行其道的今天&#xff0c;我们经常需要对某个数据请求进行多次尝试。然而&#xff0c;当遇到网络不稳定、外部服务更新或下游服务负载过高等情况时&#xff0c;请求…

网络安全-Http\Https协议和Bp抓包

1. http协议&#xff0c;有请求必有相应&#xff0c; 请求协议&#xff0c; 响应协议&#xff1b; 2. 密码学加密机制及常用算法和常用名称说明&#xff1a; 算法 密钥 明文数据 密文&#xff1b; 加密算法分类和常用算法&#xff1a; 加密算法可以归结为三大类&#xff…

爱普生FC1610AN5G手机中替代传统晶振的理想之选

在 5G 技术引领的通信新时代&#xff0c;手机性能面临前所未有的挑战与机遇。从高速数据传输到多任务高效处理&#xff0c;从长时间续航到紧凑轻薄设计&#xff0c;每一项提升都离不开内部精密组件的协同优化。晶振&#xff0c;作为为手机各系统提供稳定时钟信号的关键元件&…

质粒已被全面解析

随着微生物研究的不断深入和耐药性问题的日益加剧&#xff0c;了解质粒对开发抗菌策略及生物技术应用意义重大。但现有质粒数据库缺乏细致注释并且工具存在不足。近期&#xff0c;香港城市大学李帅成课题组在Nucleic Acids Research期刊发表研究成果&#xff0c;推出全面注释质…

实验二.单按键控制LED

1.实验任务 如图4.1所示:在P0.0端口上接一个发光二极管L1,按键按一下灯亮,在按一下灯灭。 2.电路原理图 3.系统板上硬件连线 把“单片机系统”区域中的P0端口用导线连接到“八路发光二极管指示模块”区域中的L1端口上。 4.程序设计内容

【ROS】move_base 导航节点概述

【ROS】move_base 导航节点概述 前言move_base 架构move_base 内部模块move_base 外部数据 前言 本章介绍 ROS 导航系统中的核心节点 move_base&#xff0c;它负责路径规划和导航控制&#xff0c;是系统的调度中心。我们将简要讲解其内部模块结构&#xff0c;以及运行所需的外…

【FPGA基础学习】DDS信号发生器设计

一、IP核简介 IP核的定义与核心作用 定义 IP核是芯片设计中独立功能的成熟模块&#xff0c;例如处理器、存储器、接口协议等。它们以硬件描述语言&#xff08;HDL&#xff09;、网表或物理版图形式交付&#xff0c;供其他设计者直接调用&#xff0c;避免重复开发 核心作用 缩…

linux ceres库编译注意事项及测试demo

最近linux编译了ceres库,因为要涉及到一个程序源代码的编译&#xff0c;但是反复测试&#xff0c;一直各种错误&#xff0c;所以一个个问题排除&#xff1b; 虽然前面ceres库编译成功了&#xff0c;但是版本自定义扔进去的&#xff0c;所以在进行代码编译的时候各种报错。 参考…

Flux.1+ComfyUI组合实战!本地部署生成高质量AI图片全流程指南

文章目录 前言1. 本地部署ComfyUI2. 下载 Flux.1 模型3. 下载CLIP模型4. 下载 VAE 模型5. 演示文生图6. 公网使用 Flux.1 大模型6.1 创建远程连接公网地址 7. 固定远程访问公网地址 前言 在这个AI技术风起云涌的时代&#xff0c;图像生成模型已经从科幻变成了现实中的‘印钞机…

css hover 实现鼠标放上去后略微放大的效果

代码如下&#xff1a; <div class"button">文字</div>css代码如下&#xff1a; .button{width: 100px;height: 50px;margin-top: 100px;margin-left: 100px;color: white;background-color: gray;line-height: 50px;text-align: center;transition: all…

UWB定位技术目前主要应用在哪些行业(更新2025)

UWB定位技术的主要行业应用 ‌一、工业制造领域‌ ‌人员与设备定位‌&#xff1a;通过厘米级精度追踪工人、叉车及设备位置&#xff0c;优化生产流程并提升安全管理效率&#xff08;如高危区域实时报警&#xff09;‌。‌防撞预警与工时统计‌&#xff1a;结合电子围栏实现设…

vscode格式化为什么失效?自动保存和格式化(Prettier - Code formatter,vue-format)

vscode自动格式化保存最终配置 博主找了好多的插件&#xff0c;也跟着教程配置了很多&#xff0c;结果还是没有办法格式化&#xff0c;最终发现了一个隐藏的小齿轮&#xff0c;配置完后就生效了 关键步骤 关键配置 一定要点小齿轮&#xff01;&#xff01;&#xff01; 这个小…

鸿蒙应用元服务开发-Account Kit配置登录权限

一、场景介绍 华为账号登录是基于OAuth 2.0协议标准和OpenID Connect协议标准构建的OAuth2.0 授权登录系统&#xff0c;元服务可以方便地获取华为账号用户的身份标识&#xff0c;快速建立元服务内的用户体系。 用户打开元服务时&#xff0c;不需要用户点击登录/注册按钮&#…

React ROUTER之嵌套路由

第一张是需要修改router文件createBrowserRouterd参数数组中的路由关系 第二张是需要在一级路由的index.js中选择二级路由的位置 第一步是在全局的router.js文件中加入新的children属性&#xff0c;如图 第二步是在一级路由的index.js文件中声明outLet组件 默认二级路由 在…

TestNG 单元测试详解

1、测试环境 jdk1.8.0 121 myeclipse-10.0-offline-installer-windows.exe TestNG 插件 org.testng.eclipse 6.8.6.20130607 0745 2、介绍 套件(suite):由一个 XML 文件表示,通过<suite>标签定义,包含一个或更多测试(test)。测试(test):由<test>定义&#xf…

通过python实现bilibili缓存视频转为mp4格式

需要提前下好ffmpeg import os import fnmatch import subprocess Bilibili缓存的视频&#xff0c;*280.m4s结尾的是音频文件&#xff0c;*050.m4s结尾的是视频&#xff0c;删除16进制下前9个0&#xff0c;即为正常音/视频 使用os.walk模块&#xff0c;遍历每一个目录&#xf…

【分享】Ftrans文件摆渡系统:既保障传输安全,又提供强集成支持

【分享】Ftrans文件摆渡系统&#xff1a;既保障传输安全&#xff0c;又提供强集成支持&#xff01; 在数字化浪潮中&#xff0c;企业对数据安全愈发重视&#xff0c;网络隔离成为保护核心数据的关键防线&#xff0c;比如隔离成研发网-办公网、生产网-测试网、内网-外网等。网络…