第二篇:获取标签文本内容

本文介绍了如何使用PyCharm中的lxml库解析HTML,通过XPath表达式提取li标签中的a元素文本,并演示了如何定位特定class属性的li标签。内容涵盖了数据抓取、DOM解析和文本内容提取的关键步骤。

打开我的pyCharm软件 在task_3右键点击 创建我们的python文件 (获取标签的文本内容)

1.导入lxml库的etree包

2.导入我们提前在网页所获取的html文本内容。(注:我们需要使用etree解析html内容

3.查出我们所知道的html中[li]中第1个[li]标签文本信息  

具体而言,这个XPath表达式 //li[1]/a/text() 匹配满足以下条件的元素:

//li:选择文档中所有的 <li> 标签。

[1]:选取第一个匹配的 <li> 元素。

/a:选择该 <li> 元素下的 <a> 子元素。

/text():提取 <a> 元素的文本内容

selector.xpath('//li[1]/a/text()') 的作用是从选择器 selector 表示的文档中提取出第一个 <li> 元素下的 <a> 元素的文本内容。这可以用于从 HTML 或 XML 文档中提取特定元素的值或文本内容,进行数据抓取和解析等任务。

print(list_1) 的作用是将变量 list_1 的值打印输出到控制台或标准输出

运行结果如图所示

4.查找出已知html中[li]中第1个[li]标签下的a元素文本信息

  1. list_1_element = selector.xpath('//li[1]/a/text()')[0]这行代码使用XPath表达式从文档中选择第一个 <li> 元素下的 <a> 元素的文本内容,并将其存储在变量 list_1_element 中。[0] 表示选择列表中的第一个元素,因为 selector.xpath('//li[1]/a/text()') 可能会返回一个包含多个匹配结果的列表
  2. print(list_1_element):这行代码将变量 list_1_element 的值打印输出到控制台或标准输出。它的作用是显示被选中的第一个 <li> 元素下的 <a> 元素的文本内容。

代码运行结果

5.我们需要通过class属性定位去查看html中[li]中的第三个[li]标签属性

注:与我们的第3点的作用大同小异)代码执行结果如下

6.通过class属性定位查找出已知html中[li]中的第三个[li]标签属性和a元素文本信息

1.list_2 = selector.xpath('//li[@class="line-message"]'):这行代码使用XPath表达式从文档中选择具有 class 属性值为 "line-message" 的所有 &lt;li&gt; 元素,并将它们存储在变量 list_2 中。这将返回一个列表,其中包含满足条件的所有元素。

2.print(list_2):这行代码将变量 list_2 的值打印输出到控制台或标准输出。它的作用是显示被选中的具有 "line-message" 类的 &lt;li&gt; 元素的列表。

3.list_2_element = selector.xpath('//li[@class="line-message"]/a/text()')[1]:这行代码使用XPath表达式从文档中选择具有 class 属性值为 "line-message" 的所有 &lt;li&gt; 元素下的 &lt;a&gt; 元素的文本内容,并将索引为 1 的元素的文本内容存储在变量 list_2_element 中。索引从 0 开始计数,所以 [1] 表示选择列表中的第二个元素。

4.print(list_2_element):这行代码将变量 list_2_element 的值打印输出到控制台或标准输出。它的作用是显示被选中的具有 "line-message" 类的 &lt;li&gt; 元素下的第二个 &lt;a&gt; 元素的文本内容。

代码运行结果如下

7.提取出含有‘line-’的li下的a元素内容

(注:给定的代码的作用是从文档中提取出具有以 "line-" 开头的 class 属性值的 <li> 元素下的所有 <a> 元素的文本内容,并将这些文本内容存储在名为 list4 的变量中,然后将其打印输出。这可以用于从HTML或XML文档中提取具有特定样式类的元素的内容。)代码执行结果如下

8.提取出所有UL下的所有文本信息

(注:给定的代码的作用是首先选择文档中所有的 <ul> 元素并存储在 list5 中,然后将所有选中的 <ul> 元素的文本内容合并为一个字符串,并将这个字符串存储在 all 变量中,最后打印输出这个字符串。这样可以提取出所有 <ul> 元素下的文本信息并以单一的字符串形式进行展示。)

代码执行结果

最后:删除左右换行符\n,使用空格替换\n

1.首先将先前选择的所有 <ul> 元素的文本内容存储在 text 变量中。

2.然后,通过 strip() 方法删除 text 中的左右空格。

3.接着,使用 replace('\n', '') 方法将 text 中的换行符(\n)替换为空格。

4.最后,将处理后的文本内容打印输出到控制台或标准输出。

结果展示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值