首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用优美汤删除元素的第一个实例

使用优美汤删除元素的第一个实例
EN

Stack Overflow用户
提问于 2018-09-07 20:51:05
回答 1查看 854关注 0票数 0

我一直试图使用BeautifulSoup删除元素的第一个实例,我确信我遗漏了一些东西。我没有使用find,因为我需要针对第一个实例,它始终是一个头(Div),并且具有类HubHeader。该类与div标记结合使用于其他地方。不幸的是,我无法更改基本html的设置。

我也尝试了选择一个外循环,但它仍然没有工作。

代码语言:javascript
运行
复制
def delete_header(filename):
    html_docs = open(filename,'r')
    soup = BeautifulSoup( html_docs, "html.parser")
    print (soup.select_one(".HubHeader")) #testing
    for div in soup.select_one(".HubHeader"):
        div.decompose()
    print (soup.select_one(".HubHeader")) #testing
    html_docs.close()

delete_header("my_file")

最近的错误是:

AttributeError: 'NavigableString' object has no attribute 'decompose'

我正在使用select_one()decompose()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-08 19:48:52

简短的回答,替换,

代码语言:javascript
运行
复制
for div in soup.select_one(".HubHeader"):
    div.decompose()

只有一行:

代码语言:javascript
运行
复制
soup.select_one(".HubHeader").decompose()

更长的答案,您可以在bs4.element.Tag对象上迭代代码。函数.select_one()返回一个对象,而.select()返回一个列表,如果您使用的是.select(),那么您的代码将正常工作,但是去掉所选类中元素的所有出现情况。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52229489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档