【问题标题】:Python `bs4.BeautifulSoup.get_text()` - get text only from the immediate level [duplicate]Python`bs4.BeautifulSoup.get_text()`-仅从直接级别获取文本[重复]
【发布时间】:2017-03-02 05:19:18
【问题描述】:

假设我有一个 HTML sn-p,我只想从直接级别get_text

from bs4 import BeautifulSoup
s = "<div><p><strong>College Type:</strong> \r\nPrivate Un-aided\r\n</p></div>"
soup = BeautifulSoup(s, 'lxml')
print soup.find('p').get_text()

哪些打印:

College Type: 
Private Un-aided

但我只想要:

Private Un-aided

在直接的&lt;p&gt;标签中-忽略来自子标签&lt;strong&gt;的文本。

【问题讨论】:

  • 是的,类似的问题:text = True 将仅提供子标签数据,recursive = False 将提供 find('p') 标签中的数据,而不是所有子标签。

标签: python beautifulsoup


【解决方案1】:

您可以在

标签内搜索文本内容,并声明您不想递归到子标签:

>>> print soup.find('p').find(text=True, recursive=False)

Private Un-aided

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-05-26
    • 2013-12-18
    • 2021-06-17
    • 2021-12-10
    • 1970-01-01
    • 2017-03-05
    • 1970-01-01
    相关资源
    最近更新 更多