html 如何提取嵌套标记?

vuktfyat  于 2022-11-20  发布在  其他
关注(0)|答案(1)|浏览(111)

我想从'p'撷取'span'标记,但不知道如何执行

html = "
<div id="tab-description" class="plugin-description section">
    <h2 id="description-header">Description</h2>
    <p><span class="embed-youtube" style="text-align:center; display: block;"><iframe class="youtube-player"src="https://www.youtube.com/"></iframe></span></p>
</div>
"
soup = BeautifulSoup(html,'lxml')
description = soup.find(id="tab-description").find('p')

我试图decompose()它,但返回一个错误。

hgtggwj0

hgtggwj01#

要获取<span>,请直接选择它:

soup.find(id="tab-description").p.span

soup.find(id="tab-description").find('span')

soup.select_one('#tab-description p > span')

请注意如果目的是从<iframe>中抓取内容,则不是一个选项。如果是这样,则这将是为具有此焦点的asking a new question预定的。

要从soup中删除<span>及其内容,请执行以下操作:

soup.find(id="tab-description").p.span.decompose()

相关问题