21天Python进阶学习挑战赛打卡9


活动地址:CSDN21天学习挑战赛

 

学习日记


1,学习知识点

Python 操作 lxml库与Xpath(爬取网页指定内容)

2,学习遇到的问题

内容较复杂

3,学习的收获

Python lxml库

4,实操

1.Python lxml库介绍

lxml是XML和HTML的解析器,其主要功能是解析和提取XML和HTML中的数据;lxml和正则一样,也是用C语言实现的,是一款高性能的python HTML、XML解析器,也可以利用XPath语法,来定位特定的元素及节点信息

HTML是超文本标记语言,主要用于显示数据,他的焦点是数据的外观
XML是可扩展标记语言,主要用于传输和存储数据,他的焦点是数据的内容

1.1 安装lxml模块库

pip install lxml

1.2 lxml 是什么

lxml是以Python语言编写的库,主要用于解析和提取HTML或者XML格式的数据,它不仅功能非常丰富,而且便于使用,可以利用XPath语法快速地定位特定的元素或节点。

lxml库中大部分的功能都位于 lxml.etree模块中,导入lxml.etree模块的常见方式如下:

from lxml import etree

lxml库的一些相关类如吓:
●Element类 :可以理解为XML的节点。
●ElementTree类 :可以理解为一个完整的XML文档树。
●ElementPath类 :可以理解为XPath ,于搜索和定位节点。

1.2.1 Element类简介

Element类是XML处理的核心类,可以直观地理解为XML的节点,大部分XML节点的处理都是围绕着该类进行的。要想创建一个节点对象,则可以通过构造函数直接创建,示例如下:

root = etree.Element('root')

上述示例中,参数root表示节点的名称。

关于Element类的相关操作,主要可分为三个部分,分别是节点操作、节点属性的操作、节点内文本的操作,下面进行逐一介绍。

1. 节点操作

若要获取节点的名称,则可以通过tag属性获取,示例如下:

print(root.tag)
# 输出结果如下
root

2. 节点属性的操作

在创建节点的同时,可以为节点增加属性。节点中的属性是以“key-value”的形式进行存储的,类似于字典的存储方式。通过构造方法创建节点时,可以在该方法中以参数的形式设置属性,其中参数的名称表示属性的名称,参数的值表示为属性的值。创建属性的示例如下:

# 创建root节点,并为其添加属性
root = etree.Element('root', interesting='totally')
print(etree.tostring(root))
# 输出结果如下
b'<root interesting="totally"/>'

此外,可以通过set()方法给已有的节点添加属性。在调用该方法时可以传入两个参数,其中第一个参数表示属性的名称,第二个参数表示属性的值,示例如下:

# 再次给root节点添加age属性
root.set('age', '30')
print(etree.tostring(root))
# 输出结果如下
b'<root interesting="totally" age=&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值