python - beautifulsoup - 删除一行代码

标签 python html web-scraping beautifulsoup

我开始学习beautifulsoup。我试图从 html 脚本中删除一行包含 </div> 的代码.

文档中的大多数示例都是针对整个标签(开始和结束部分)提供的。
是否可以只修改标签的一部分? 例如:

</div>
<div >Hello</div>
<div data-foo="value">foo!</div>


如何只删除第一行代码?

最佳答案

您可以使用 BeautifulSoup 的 unwrap()指定无效标签,这将只删除没有打开/关闭对应的额外标签,同时保留其他标签:

soup = BeautifulSoup(html_doc, 'html.parser')

invalid_tags = ['</div>']

for tag in invalid_tags: 
    for match in soup.findAll(tag):
        match.unwrap()

print(soup)

结果:

<div>Hello</div>
<div data-foo="value">foo!</div>

关于python - beautifulsoup - 删除一行代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53272245/

相关文章:

python - 在此数据框中填充缺失值的最有效方法是什么?

javascript - FormData 在 Internet Explorer 中不工作?

html - 外部样式表,指定绝对或相对路径

python - Python 中的网页抓取动态内容

python - 如何在 Heroku 中使用 OpenCV

python - 按列选择并删除列

python - 类型错误 : must be str, 未列出

php - Mysql和PHP以html列表显示所有用户数据

xpath - Python 和 Scrapy 不能很好地处理格式错误的 HTML

javascript - 如何检查网站是否有 javascript?