『python爬虫』beautifulsoup库获取文本的方法.get_text()、.text 和 .string区别(保姆级图文)


欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中

区别

省流直接看get_text 推荐用这个

.string(不推荐用)

BeautifulSoup 提供的属性

  1. 如果只有单个子标签且本标签内部没有文本,且子标签内不能有其他标签(获取子标签内的文本)
  2. 如果没有子标签且本标签内部有文本(获取本标签的文本)
  3. 其他情况都返回None
  4. 总结:标签内部不能同时有子标签和本标签文本,而且子标签也不能有孙子标签.

.text(get_text的简化版少敲代码的时候用)

  • BeautifulSoup 提供的属性,用于获取指定标签直接包含的文本内容,包括子标签内的文本内容。
  • 比.string的优势:可以允许获取儿子标签和孙子标签的文本内容.
    如果
  • 空内容时不会返回None而是返回""

.get_text(推荐用,功能强大,为什么不爱呢?)

  • BeautifulSoup 提供的方法,用于获取指定标签及其子孙标签的所有文本内容,并将它们合并成一个字符串。你可以通过参数来控制获取文本的方式,例如指定分隔符、去除空白字符等。

  • 空内容时不会返回None而是返回""


示例代码

在这里插入图片描述

html_doc = """
<html><head><title class="story_start"><p>标题</p></title></head>
<body>
<p class="title"><b>故事名</b></p>

<p class="story">东汉末年,桃园结义</p>
<a href="http://example.com/elsie" class="zhangfei" id="zhangfei_id">张飞</a>,
<a href="http://example.com/lacie" class="guanyu" id="guanyu_id">关羽</a> and
<a href="http://example.com/tillie" class="liubei" id="liubei_id">刘备</a>;
<p>第一回</p>;


<div class="story_end">
div标签内容(爷爷)
    <div>
        div子标签内容(爸爸)
        <div>
            div子标签的子标签内容(儿子)
        </div>
    </div>
    <div>div子标签内容(妈妈)</div>
</div>

"""

from bs4 import BeautifulSoup

soup = BeautifulSoup(html_doc, 'html.parser')

from bs4 import BeautifulSoup

soup = BeautifulSoup(html_doc, 'html.parser')

#获取节点信息  在html.parser模式下
obj=soup.select(".story_end")[0]
print(".string 有标签也有子标签,返回none",obj.string)
print(".text",obj.text)
print(".get_text",obj.get_text(separator=' ', strip=True))

# .string的补充说明
obj=soup.select(".story_start")[0]
print(".string 如果只有标签也可以获取得到子标签的文本,即便子标签内没有文本",obj.string)


总结

大家喜欢的话,给个👍,点个关注!给大家分享更多计算机专业学生的求学之路!

版权声明:

发现你走远了@mzh原创作品,转载必须标注原文链接

Copyright 2023 mzh

Crated:2023-3-1

欢迎关注 『python爬虫』 专栏,持续更新中
欢迎关注 『python爬虫』 专栏,持续更新中
『未完待续』


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

发现你走远了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值