假设有一些可变片段html代码
<p>
<span class="code"> string 1 </ span>
<span class="code"> string 2 </ span>
<span class="code"> string 3 </ span>
</ p>
<p>
<span class="any"> Some text </ span>
</ p>
我需要用类代码修改所有标签的内容<span>
通过某些功能跳过内容,例如foo
,它返回修改后的标签的内容<span>
。最终,我应该得到一个新的 html 文档,如下所示:
<p>
<span class="code"> modify string 1 </ span>
<span class="code"> modify string 2 </ span>
<span class="code"> modify string 3 </ span>
</ p>
<p>
<span class="any"> Some text </ span>
</ p>
有人建议我使用 python 库可以轻松搜索特定的 html 节点美丽汤4。如何进行内容修改<span class="code">
并将新版本另存为新文件?我想找到你需要使用soup.find_all ('span', class = re.compile ("code"))
,只有这个函数返回一个list
(复制)样本对象,对其进行修改不会改变汤的内容。我该如何解决这个问题?
</ span>
是无效的 HTML,甚至网络浏览器的宽松解析器也无法正确解析它。
修复 HTML 后,您可以使用.replaceWith()
:
from bs4 import BeautifulSoup
soup = BeautifulSoup('''
<p>
<span class="code"> string 1 </span>
<span class="code"> string 2 </span>
<span class="code"> string 3 </span>
</p>
<p>
<span class="any"> Some text </span>
</p>
''', 'html5lib')
for span in soup.find_all('span', class_='code'):
span.string.replaceWith('modified ' + span.string)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)