python - python - beautifulsoup - 删除一行代码
问题描述
我开始学习beautifulsoup。我正在尝试从 html 脚本中删除一行包含</div>
.
文档中的大多数示例都是针对整个标签(开始和结束部分)提供的。
是否可以只修改标签的一部分?例如:
</div>
<div >Hello</div>
<div data-foo="value">foo!</div>
如何仅删除代码的第一行?
解决方案
您可以使用 BeautifulSoupunwrap()
指定无效标签,这只会删除没有打开/关闭对应项的额外标签,而保留其他标签:
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>
推荐阅读
- gem5 - 警告:在简单 gem5 模拟期间忽略系统调用 mprotect(...)
- c++ - 如何在 C 代码上从终端运行 Google 测试?
- c# - 如何修复我的行星重力脚本?(C#)
- python - 使用 PsExec 时如何在 pythonsub 进程中访问标准输入和标准输出
- php - SMTP PHPMailer 连接被拒绝 (111)
- javascript - 每 5 秒比较页面上的图像
- html - 以 flex-direction: column 包裹时,Flexbox 滚动中断
- c# - System.Text.Json.JsonException:无法将 Json 转换为 DataModel
- r - 在 R 中重新创建 Excel 数据透视表 - 表格或 qpvt
- javascript - 如何使用cheerio.js 获取图像src?