【问题标题】:Remove a tag within a tag in BeautifulSoap删除 BeautifulSoup 中标签内的标签
【发布时间】:2020-02-26 18:24:44
【问题描述】:

我有这个 BeautifulSoap 代码

title_box = soup.find('span', attrs={'class': 'descTitle'})
print title_box

给出以下输出

<span class="descTitle"> <a class="descTitle" href="/foo/bar"</a> | Quick Brown Fox!</span>

我想完全删除其中的&lt;a&gt; 标签,以便得到以下输出

<span class="descTitle"> | Quick Brown Fox!</span>

剥离文本后,我想要的输出是Quick Brown Fox!。有什么想法可以在使用text.strip() 之前或之后删除| 吗?

【问题讨论】:

    标签: python python-3.x python-2.7 beautifulsoup


    【解决方案1】:

    您可以使用.text.strip().lstrip("|")

    例如:

    title_box = soup.find('span', attrs={'class': 'descTitle'}).text.strip().lstrip("|")
    

    演示:

    from bs4 import BeautifulSoup
    
    html = '<span class="descTitle"> <a class="descTitle" href="/foo/bar"</a> | Quick Brown Fox!</span>'
    soup = BeautifulSoup(html, "html.parser")
    print(soup.find('span').text.strip().lstrip("|"))
    # -->  Quick Brown Fox!
    

    【讨论】:

      猜你喜欢
      • 2014-10-02
      • 1970-01-01
      • 2013-10-19
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      相关资源
      最近更新 更多