lxml库在爬虫领域的贡献及应用

news2024/11/8 17:46:25

重头戏lxml库里面的xpath

一段代码给各位开开胃

282fe64a02c822abc4f4d153219060ee.jpeg

56c37a0e304a5fa64b5d3f4776a9545e.jpeg

bea6004aedcaf48127fcce740d44ec84.jpeg

    这段代码首先导入了`lxml`库中的`etree`模块,然后定义了一个包含HTML内容的字符串`html`。接着,我们使用`etree.HTML()`函数解析这个HTML字符串,得到一个表示整个HTML文档的树形结构。最后,我们使用`xpath()`方法提取所需的信息。

    1. 提取标题文本:我们使用XPath表达式`//title/text()`来定位到`<title>`标签,并提取其文本内容。

    2. 提取段落文本:我们使用XPath表达式`//p/text()`来定位到`<p>`标签,并提取其文本内容。

    3. 提取所有链接的文本和URL:我们使用XPath表达式`//a`来定位到所有的`<a>`标签,然后分别提取每个链接的文本和URL。注意,这里我们使用了相对路径(以`.`开头)来在当前节点下继续查找子节点。

下面是有关爬虫xpath的定位

1. 选取所有节点:`//`
2. 选取当前节点:`.`
3. 选取子节点:`/`
4. 选取父节点:`..`
5. 选取属性:`@属性名`
6. 选取文本:`text()`

接下来简要介绍一下HTML结构:

  HTML的基本结构包括DOCTYPE声明、html元素、head元素和body元素等。以下是这些基本结构的具体介绍:

1. DOCTYPE声明:DOCTYPE声明位于HTML文档的最前面,它告诉浏览器当前文档所使用的HTML版本。这是为了确保浏览器正确解释和呈现网页内容,遵循相应的标准。

2. html元素:html元素是整个HTML页面的根元素,它包含了文档的所有其他元素。它通常以`<html>`开始,以`</html>`结束标签闭合。这个元素中可以包含语言声明,如`lang="en"`,指定页面的主要语言。

3. head元素:在HTML中,`<head>`元素包含了所有不可见的元数据信息,比如编码声明`<meta charset="utf-8">`、页面标题`<title>`、链接到外部资源如CSS和JavaScript文件等。虽然`<head>`中的内容不会直接显示出来,但对于搜索引擎优化(SEO)和页面的适当功能至关重要。

4. body元素:`<body>`元素包含了所有用户在浏览器上可见的实际内容。这包括文本、图片、链接、列表、表格等内容。在这个区域,可以使用各种HTML标签来结构化内容,如`<p>`用于段落,`<h1>`到`<h6>`用于不同级别的标题,`<a>`用于超链接等。

此外,HTML文档还具有一些高级特性,例如属性可以用来添加更多信息到元素中。例如,`<a>`标签的`href`属性指定了链接的目标地址。同时,HTML5引入了一些新的语义化元素,如`<header>`、`<footer>`、`<article>`和`<section>`,它们可以帮助更好地定义网页内容的结构。

HTML图例如下:

eb5be51e84e4dabec806bd7e8a7ccec2.jpeg

综上所述,掌握HTML的基本结构和相关标签对于前端开发是非常重要的基础。合理地使用这些标签不仅可以提高页面的可读性和可维护性,也有助于搜索引擎更好地理解和索引网页内容。

以上的相关应用可以通过小蜜蜂AI的GPT问答获取更多的示例。网址:https://zglg.work。

(文章对你有用的话。记得点赞➕在看哦😯😯😯😯分享知识也是一种美德)

  如有学习上的困惑或问题欢迎评论区留言告诉我们,让我们一起解决共同进步:

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

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

相关文章

WindTerm使用SSH密钥连接阿里云实例,服务器设置SSH密钥登录

安装Windterm 地址https://github.com/kingToolbox/WindTerm/releases 下载完放到文件夹就可以打开 阿里云开启密钥对 打开阿里云ecs控制台 https://ecs.console.aliyun.com/keyPair/region/cn-wulanchabu 网络与安全->密钥对&#xff0c;创建密钥对&#xff0c;创建成…

STM32项目分享:智能蓝牙手环

目录 一、前言 二、项目简介 1.功能详解 2.主要器件 三、原理图设计 四、PCB硬件设计 1.PCB图 2.PCB板打样焊接图 五、程序设计 六、实验效果 七、资料内容 项目分享 一、前言 项目成品图片&#xff1a; 哔哩哔哩视频链接&#xff1a; https://www.bilibili.c…

改变Layout布局中路由渲染区域页面跳转变全屏

有一个需求需要点击侧边栏跳转页面时变全屏&#xff0c;而不是还在content中

QWidget 属性——windowTitle·windowIcon·qrc

&#x1f40c;博主主页&#xff1a;&#x1f40c;​倔强的大蜗牛&#x1f40c;​ &#x1f4da;专栏分类&#xff1a;QT ❤️感谢大家点赞&#x1f44d;收藏⭐评论✍️ 文章目录 一、windowTitle二、windowIcon三、qrc 一、windowTitle windowTitle 是一个通常用于表示窗口标题…

企业级开源项目,云缓存解决方案:CacheCloud

CacheCloud&#xff1a;简化缓存管理&#xff0c;释放数据潜力- 精选真开源&#xff0c;释放新价值。 概览 CacheCloud是由搜狐视频团队开发的一款开源的Redis缓存云平台&#xff0c;支持Redis多种架构(Standalone、Sentinel、Cluster)高效管理、有效降低大规模redis运维成本&…

深入理解rtmp(一)之开发环境搭建

深入理解rtmp(一)之开发环境搭建 手机直播在15年的时候突然火起来,随着花椒,映客等出现,直播一下就出现在了风口,各个公司针对直播的战斗迅速打响,战斗过程比较短暂,随着许多公司的退出和死去,手机直播行业趋于稳定,直播服务时长也被传统的CDN厂商牢牢占据,后面大家又把精力投…

c++【入门】火柴棒三角形问题

限制 时间限制 : 1 秒 内存限制 : 128 MB 题目 如下图所示&#xff0c;摆1个火柴棒三角形需要3根火柴&#xff0c;那么摆2个火柴棒三角形就需要6根火柴&#xff0c;请问摆n个火柴棒三角形需要多少根火柴&#xff1f; 输入 一个整数n&#xff0c;代表想要摆放的火柴棒三角形…

[大模型]Llama-3-8B-Instruct FastApi 部署调用

环境准备 在 Autodl 平台中租赁一个 3090 等 24G 显存的显卡机器&#xff0c;如下图所示镜像选择 PyTorch-->2.1.0-->3.10(ubuntu22.04)-->12.1。 接下来打开刚刚租用服务器的 JupyterLab&#xff0c;并且打开其中的终端开始环境配置、模型下载和运行演示。 pip 换源…

【AI大模型】Transformers大模型库(九):大模型微调之计算微调参数占比

目录 一、引言 二、计算微调参数占比 2.1 概述 2.2 模型参数结构一览 2.3 微调参数占比计算 三、总结 一、引言 这里的Transformers指的是huggingface开发的大模型库&#xff0c;为huggingface上数以万计的预训练大模型提供预测、训练等服务。 &#x1f917; Transform…

【Qt】文件操作

文章目录 1 :peach:Qt 文件概述:peach:2 :peach:输入输出设备类:peach:3 :peach:文件读写类:peach:4 :peach:文件和目录信息类:peach: 1 &#x1f351;Qt 文件概述&#x1f351; 文件操作是应⽤程序必不可少的部分。Qt 作为⼀个通⽤开发库&#xff0c;提供了跨平台的⽂件操作能…

使用开源的zip.cpp和unzip.cpp实现压缩包的创建与解压(附源码)

目录 1、使用场景 2、压缩包的创建 3、压缩包的解压 4、CloseZipZ和CloseZipU两接口的区别 5、开源zip.cpp和unzip.cpp文件的下载 VC++常用功能开发汇总(专栏文章列表,欢迎订阅,持续更新...)https://blog.csdn.net/chenlycly/article/details/124272585C++软件异常排…

【机器学习300问】112、什么是特征点检测?

特征点检测是计算机视觉中的一种技术&#xff0c;用于识别图像中具有显著局部特征的点。这项技术在多个领域内扮演着核心角色&#xff0c;包括图像识别、三维重建、运动跟踪和图像匹配等。 一、特征点任务的目的 在计算机视觉&#xff08;CV&#xff09;中&#xff0c;特征点检…

PyCharm QThread 设置断点不起作用

背景&#xff1a; 端午节回来上班第一天&#xff0c;不想干活&#xff0c;领导又再后面看着&#xff0c;突然想起一个有意思的问题&#xff0c;为啥我的程序在子进程QThread的子类里打的断点不好用呢&#xff1f;那就解决一下这个问题吧。 原因&#xff1a; 如果您的解释器上…

PB案例学习笔记-19制作一个图片按钮

写在前面 这是PB案例学习笔记系列文章的第19篇&#xff0c;该系列文章适合具有一定PB基础的读者。 通过一个个由浅入深的编程实战案例学习&#xff0c;提高编程技巧&#xff0c;以保证小伙伴们能应付公司的各种开发需求。 文章中设计到的源码&#xff0c;小凡都上传到了gite…

【C++题解】1121 - “倒”数

问题&#xff1a;1121 - “倒”数 类型&#xff1a;需要找规律的循环 题目描述&#xff1a; 输入一个正整数 N&#xff08;0<N<2147483647&#xff09;&#xff0c;将这个数倒着合成一个新数后输出。 比如&#xff1a; 543 &#xff0c;倒过来是345 &#xff08;请注意…

2024年吉林等级保护测评机构名单

据悉&#xff0c;在吉林地区具备等保测评资质的机构为数不多&#xff0c;但每一家都承载着保障信息系统安全的重任。这些机构拥有专业的技术团队和丰富的经验&#xff0c;能够为各单位提供高质量的等保测评服务。今天我们小编就给大家汇总了一下2024年吉林等级保护测评机构名单…

基于电压矢量变换的锁相环simulink建模与仿真

目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 5.完整工程文件 1.课题概述 基于电压矢量变换的锁相环simulink建模与仿真&#xff0c;这个模型的基本构架如下所示&#xff1a; 2.系统仿真结果 由图中锁相结果可以看出&#xff0c;利用新型锁相环技术在…

[大模型]LLaMA3-8B-Instruct WebDemo 部署

环境准备 在 autodl 平台中租赁一个 3090 等 24G 显存的显卡机器&#xff0c;如下图所示镜像选择 PyTorch-->2.1.0-->3.10(ubuntu20.04)-->12.1 接下来打开刚刚租用服务器的 JupyterLab&#xff0c;并且打开其中的终端开始环境配置、模型下载和运行 demo。 pip 换源…

面试官:MySQL也可以实现分布式锁吗?

首先说结论&#xff0c;可以做&#xff0c;但不推荐做。 我们并不推荐使用数据库实现分布式锁。 如果非要这么做&#xff0c;实现大概有两种。 1、锁住Java的方法&#xff0c;借助insert实现 如何用数据库实现分布式锁呢&#xff0c;简单来说就是创建一张锁表&#xff0c;比…

SRE 排障利器,接口请求超时试试 httpstat

夜莺资深用户群有人推荐的一个工具&#xff0c;看了一下真挺好的&#xff0c;也推荐给大家。 需求场景 A 服务调用 B 服务的 HTTP 接口&#xff0c;发现 B 服务返回超时&#xff0c;不确定是网络的问题还是 B 服务的问题&#xff0c;需要排查。 工具简介 就类似 curl&#…