【问题标题】:Differences between .text and .get_text().text 和 .get_text() 之间的区别
【发布时间】:2016-05-31 11:55:01
【问题描述】:

BeautifulSoup中,.text.get_text()有什么区别吗?

获取元素的文本应该首选哪一个?

>>> from bs4 import BeautifulSoup
>>>
>>> html = "<div>text1 <span>text2</span><div>"
>>> soup = BeautifulSoup(html, "html.parser")
>>> div = soup.div
>>> div.text
'text1 text2'
>>> div.get_text()
'text1 text2'

【问题讨论】:

  • 基本上你可以使用get_text()的自定义分隔符,你应该使用它,因为.text是一个私有属性,甚至没有记录。
  • @Selcuk 是的,我个人一直在使用get_text(),主要是因为它被明确记录在案,但我看到很多 bs4 用户直接使用.text 并且很好奇的缺点。谢谢!
  • ​​​​​​​​​​​​​​​嗯...那div.string是什么?

标签: python html beautifulsoup html-parsing


【解决方案1】:

看起来像.text is just a property that calls get_text。因此,不带参数调用get_text.text 相同。但是,get_text 也可以支持各种关键字参数来更改其行为方式(separatorstriptypes)。如果您需要对结果进行更多控制,则需要函数形式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-17
    • 2014-10-09
    • 1970-01-01
    • 2015-01-25
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    相关资源
    最近更新 更多