爬虫知识零基础到入门-数据解析-css, xpath(三)

article/2025/7/13 14:52:00

数据解析

  • 前言
  • 一、常见数据类型
    • 1.结构化数据
    • 2.半结构化数据
    • 3.非结构化数据
  • 二、HTML概述
    • 1.HTML骨架格式
    • 2.HTML标签关系
  • 三、CSS选择器
    • 1.标签选择器
    • 2.类选择器
    • 3.ID选择器
    • 4.组合选择器
    • 5.后代选择器
    • 6.伪类选择器
    • 7.属性提取器
    • 8.小结
  • 四、xpath节点提取
    • 1.什么是xpath
    • 2.认识xml
      • 1.html和xml的区别
      • 2.xml的树结构
    • 3.xpath的节点关系
    • 4.xpath语法
    • 5.小结


前言

对于爬虫中的数据解析,简单理解就是在通用爬虫获取到的响应数据中,进一步提取出我们需要的某些特定数据,是指对网页中指定的内容进行提取的过程。


一、常见数据类型

1.结构化数据

结构化的数据是指可以使用关系型数据库表示和存储,表现为二维形式的数据。一般特点是:数据以行为单位,一行数据表示一个实体的信息,每一行数据的属性是相同的。
在这里插入图片描述

2.半结构化数据

非关系模型的、有基本固定结构模式的数据,例如日志文件、XML文档、JSON文档等。
https://www.bejson.com/jsoneditoronline/这个也是json文件。

在这里插入图片描述

3.非结构化数据

顾名思义,就是没有固定结构的数据。各种文档、图片、视频/音频等都属于非结构化数据。对于这类数据,我们一般直接整体进行存储,而且一般存储为二进制的数据格式。

总结:能看懂的就是结构化的数据,看不懂的,就是非结构化数据

二、HTML概述

  • HTML 指的是超文本标记语言 (Hyper Text Markup Language)是用来描述网页的一种语言。
  • H(很)T(甜)M(蜜)L(啦)
  • HTML 不是一种编程语言,而是一种标记语言 (markup language)
  • 标记语言是一套标记标签(markup tag)

所谓超文本,有2层含义:

  1. 因为它可以加入图片、声音、动画、多媒体等内容(超越文本限制 )
  2. 不仅如此,它还可以从一个文件跳转到另一个文件,与世界各地主机的文件连接(超级链接文本)。
    <h1> 我是一个大标题 </h1>

一句话说出他们:

网页是由网页元素组成的 , 这些元素是利用html标签描述出来,然后通过浏览器解析,就可以显示给用户了。

门外汉眼中的效果页面
在这里插入图片描述
爬虫工程是中的页面
在这里插入图片描述

1.HTML骨架格式

日常生活的书信,我们要遵循共同的约定。
在这里插入图片描述

同理:HTML 有自己的语言语法骨架格式:(要遵循,要专业) 要求务必非常流畅的默写下来。

<html><head><title></title></head><body></body>
</html>

html骨架标签总结
在这里插入图片描述

2.HTML标签关系

主要针对于双标签 的相互关系分为两种: 请大家务必熟悉记住这种标签关系,因为后面我们标签嵌套特别多,很容易弄混他们的关系。

  1. 嵌套关系
<head><title> </title>
</head>

在这里插入图片描述
2.并列关系

<head></head>
<body></body>

在这里插入图片描述
倡议:

如果两个标签之间的关系是嵌套关系,子元素最好缩进一个tab键的身位(一个tab是4个空格)。如果是并列关系,最好上下对齐。

一句话说出他们:

html双标签可以分为: 一种是 父子级 包含关系的标签 一种是 兄弟级 并列关系的标签

三、CSS选择器

咱们数据解析部分对应使用的第三模块是parsel

pip install parsel

在 CSS 中,选择器是一种模式,用于选择需要添加样式的元素。那么我们就可以使用css选择器,在html中找到数据所对应的标签。此方式也是一个专门在html中提取数据的方法。

在这里插入图片描述

1.标签选择器

标签选择器其实就是我们经常说的html代码中的标签。例如html、span、p、div、a、img等等;比如我们想要设置网页中的p标签内一段文字的字体和颜色,那么css代码就如下所示:

# 简化的html标签
html = """
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>标签选择器</title>
</head>
<style>p{color: #f00;font-size: 16px;}
</style>
<body><p>css标签选择器的介绍</p><p>标签选择器、类选择器、ID选择器</p><a href="https://www.baidu.com">百度一下</a><span> 我是一个span标签</span>
</body>
</html>
"""
import parselselector = parsel.Selector(html)span = selector.css('span').getall

http://www.hkcw.cn/article/sSIHsbbGfA.shtml

相关文章

56、Ocelot 概述

Ocelot 是一个基于 .NET Core 开发的开源 API 网关&#xff0c;主要用于微服务架构中&#xff0c;为多个后端服务提供统一的访问入口。它通过集中化管理请求路由、认证、限流、负载均衡等功能&#xff0c;简化了客户端与后端服务之间的交互&#xff0c;同时增强了系统的安全性和…

使用el-input数字校验,输入汉字之后校验取消不掉

先说说复现方式 本来input是只能输入数字的&#xff0c;然后你不小心输入了汉字&#xff0c;触发校验了&#xff0c;然后这时候&#xff0c;你发现校验取消不掉了 就这样了 咋办啊&#xff0c;你一看校验没错啊&#xff0c;各种number啥的也写了,发现没问题啊 <el-inputv…

Oracle数据库性能优化的最佳实践

原创&#xff1a;厦门微思网络 以下是 Oracle 数据库性能优化的最佳实践&#xff0c;涵盖设计、SQL 优化、索引管理、系统配置等关键维度&#xff0c;帮助提升数据库响应速度和稳定性&#xff1a; 一、SQL 语句优化 1. 避免全表扫描&#xff08;Full Table Scan&#xff09;…

AR-HUD 光波导方案优化难题待解?OAS 光学软件来破局

波导-HUD系统案例分析 简介 光波导技术凭借其平板超薄结构和强大的二维扩展能力&#xff0c;在解决AR-HUD问题方面展现出显著优势。一方面&#xff0c;其独特的结构特性能够大幅减小对光机体积的需求&#xff0c;成为 HUD 未来发展的重要技术方向&#xff1b;另一方面&#xf…

003图书个性化推荐系统技术剖析:打造智能借阅新体验

图书个性化推荐系统技术剖析&#xff1a;打造智能借阅新体验 在知识经济时代&#xff0c;图书资源日益丰富&#xff0c;如何帮助用户快速找到心仪的图书成为关键。图书个性化推荐系统应运而生&#xff0c;它集成图书信息管理、图书预约等多个核心模块&#xff0c;通过前台展示…

CUDA 实践:隐式 GEMM 卷积 | CUDA

文章写的通俗易懂&#xff0c;根据学习和理解&#xff0c;这里画图更又利于理解。 img2col GEMM 是一种比较常用的卷积优化方法&#xff0c;因为这样可以利用到性能已经优化得比较好的 BLAS 库。早期的一些深度学习框架&#xff08;如 Caffe&#xff09;就是用了这种方式。但…

Linux线程池(下)(34)

文章目录 前言一、v3版本二、单例模式概念特点简单实现 三、其余问题STL线程安全问题智能指针线程安全问题其他锁的概念 总结 前言 加油&#xff01;&#xff01;&#xff01; 一、v3版本 「优化版」&#xff1a;从任务队列入手&#xff0c;引入 「生产者消费者模型」&#xff…

Vert.x学习笔记-EventLoop工作原理

Vert.x学习笔记 Vert.x Event Loop 的工作原理1. 核心设计理念2. 事件循环的执行流程3. 线程绑定与上下文4. 协作与任务委托5. 性能优化与注意事项6. 关键特性总结 单线程事件循环&#xff08;Event Loop&#xff09;1. 什么是单线程事件循环&#xff1f;2. 用生活场景类比3. 单…

基于 HT for Web 的轻量化 3D 数字孪生数据中心解决方案

一、技术架构&#xff1a;HT for Web 的核心能力 图扑软件自主研发的 HT for Web 是基于 HTML5 的 2D/3D 可视化引擎&#xff0c;核心技术特性包括&#xff1a; 跨平台渲染&#xff1a;采用 WebGL 技术&#xff0c;支持 PC、移动端浏览器直接访问&#xff0c;兼容主流操作系统…

德国或将对美国科技巨头征收10%数字税

当地时间5月30日,新一届德国政府刚刚设立的联邦数字化与现代化部议会国务秘书菲利普阿姆托尔表示,尽管存在加剧与美国贸易紧张局势的风险,但德国仍在考虑对美国科技巨头征收10%的数字税。阿姆托尔表示,包括谷歌母公司“字母表”“元”公司等在内的美国多家大型科技巨头在德…

【航天远景 MapMatrix 精品教程】08 Pix4d空三成果导入MapMatrix

【航天远景 MapMatrix 精品教程】08 Pix4d空三成果导入MapMatrix 文章目录 【航天远景 MapMatrix 精品教程】08 Pix4d空三成果导入MapMatrix一、资料准备1.去畸变影像2.相机文件3.外方位元素二、创建工程1.新建工程2.导入照片3.编辑相机文件4.编辑外方位元素文件,导入外方位元…

【JavaWeb】JSP

目录 8. JSP8.1 什么是JSP8.2 JSP原理8.3 JSP基础语法8.4 JSP指令8.5 九大内置对象8.6 JSP标签、JSTL标签、EL表达式8.6.1 JSP标签&#xff08;JSP Actions&#xff09;定义&#xff1a;常见标签&#xff1a;示例代码&#xff1a;注意事项&#xff1a; 8.6.2 EL 表达式&#xf…

中国区域每月地下水水位栅格数据集(2005-2022)

时间分辨率&#xff1a;月空间分辨率&#xff1a;1km - 10km共享方式&#xff1a;开放获取数据大小&#xff1a;8.52 GB数据时间范围&#xff1a;2005-01-01 — 2022-12-01元数据更新时间&#xff1a;2024-09-09 数据集摘要 数据集“GWs_cn_1km”提供了2005年至2022年中国区域…

哪些岗位最易被AI替代?

随着AI技术高速演进&#xff0c;一场“职场大洗牌”正悄然上演。当ChatGPT出口成章、机器人能精准执勤&#xff0c;AI时代的“就业焦虑”已不再是空谈。你是否认真思考过&#xff0c;自己所处的岗位是否也正面临被AI边缘化的风险&#xff1f; 以下几类职业&#xff0c;已成为AI…

【实操】配置VLAN间路由

原创&#xff1a;厦门微思网络 点击查看【相关学习】 【干货】什么是VLAN&#xff1f; 【技术分享】常见VLAN部署方式 【必看】华为设备配置单臂路由实现VLAN间通信 实验目的 1. 理解VLAN间路由的原理 2. 掌握VLAN间路由的配置方法 实验拓扑 实验需求 1、根据实验拓扑图…

光谱相似度匹配算法设计

一、核心算法类型 ‌光谱角度匹配&#xff08;SAM&#xff09;‌ 通过计算两个光谱向量间的夹角评估相似性&#xff0c;夹角越小相似度越高。适用于高光谱遥感地物分类&#xff0c;对光照强度变化不敏感。 公式&#xff1a; 其中X/YX/Y为待比较光谱向量 ‌交叉相关匹配‌ 计…

RedisTemplate查询不到redis中的数据问题(序列化)

RedisTemplate查询不到redis中的数据问题(序列化) 一.问题描述 存入Redis中的值取出来却为null,问题根本原因就是RedisTemplate和StringRedisTemplate的序列化问题、代码示例&#xff1a; SpringBootTest class Redis02SpringbootApplicationTests {Autowiredprivate RedisTe…

SPI通信

第一章&#xff1a;SPI通信协议概述 SPI&#xff08;串行外设接口&#xff09;协议是一种由摩托罗拉公司开发的通信协议&#xff0c;它支持芯片与外部设备之间进行半双工或全双工、同步、串行的数据交换。该协议允许设备配置为主模式&#xff0c;为主设备提供通信时钟&#xff…

ArkUI--抽奖

摘要&#xff1a;本文展示了一个基于ArkUI的生肖抽奖应用实现。通过State管理当前选中索引(n1)、各卡片中奖次数(nums)和生肖图片资源(pics)。点击抽奖按钮时&#xff0c;启动15次循环动画后随机停在0-5索引位置&#xff0c;并在对应卡片Badge上累计中奖次数。界面包含32网格展…

平台对比:澳洲电商增速放缓期,Kogan如何实现38%客户增长?

过去三年&#xff0c;全球电商经历了一场从“井喷”到“冷静”的转变。澳洲市场也不例外。根据Statista数据显示&#xff0c;2023年澳大利亚整体电商零售增长仅为3.8%&#xff0c;远低于前两年的两位数增长。在这样的背景下&#xff0c;本土电商平台Kogan却逆势上扬&#xff0c…