如何替换< span class =&quot“斜面” < i>有美丽的人吗?

发布于 01-22 12:45 字数 1195 浏览 1 评论 0原文

我有一些html喜欢:

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ultricies nec erat ut ornare. <span class="it">Duis vel ante finibus</span>, vestibulum felis non, venenatis mi. Integer imperdiet eleifend placerat.</p>

<p>Aenean id mollis ligula, vel vestibulum ante. <span class="it">Nullam feugiat ex a mi fringilla, vitae semper dolor efficitur.</span> Phasellus et sollicitudin urna, at lacinia arcu. Curabitur orci justo, accumsan eu tempor sed, volutpat ac metus.</p>

如何将&lt; span class =“ it”&gt;&lt;/span&gt;转换为&lt; i&gt;&gt;&gt;&lt;/i&gt; ? IE

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ultricies nec erat ut ornare. <i>Duis vel ante finibus</i>, vestibulum felis non, venenatis mi. Integer imperdiet eleifend placerat.</p>

<p>Aenean id mollis ligula, vel vestibulum ante. <i>Nullam feugiat ex a mi fringilla, vitae semper dolor efficitur.</i> Phasellus et sollicitudin urna, at lacinia arcu. Curabitur orci justo, accumsan eu tempor sed, volutpat ac metus.</p>

I have some HTML like this:

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ultricies nec erat ut ornare. <span class="it">Duis vel ante finibus</span>, vestibulum felis non, venenatis mi. Integer imperdiet eleifend placerat.</p>

<p>Aenean id mollis ligula, vel vestibulum ante. <span class="it">Nullam feugiat ex a mi fringilla, vitae semper dolor efficitur.</span> Phasellus et sollicitudin urna, at lacinia arcu. Curabitur orci justo, accumsan eu tempor sed, volutpat ac metus.</p>

How can I convert the <span class="it"></span> to <i></i>? I.e.

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ultricies nec erat ut ornare. <i>Duis vel ante finibus</i>, vestibulum felis non, venenatis mi. Integer imperdiet eleifend placerat.</p>

<p>Aenean id mollis ligula, vel vestibulum ante. <i>Nullam feugiat ex a mi fringilla, vitae semper dolor efficitur.</i> Phasellus et sollicitudin urna, at lacinia arcu. Curabitur orci justo, accumsan eu tempor sed, volutpat ac metus.</p>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

罪#恶を代价2025-01-29 12:45:22

您可以简单地重命名标签name并删除其class属性:

for e in soup.select('span.it'):
    e.name = 'i'
    del e['class']

或者如果有更多属性:

for e in soup.select('span.it'):
    e.name = 'i'
    for attr in list(e.attrs):
        del e[attr]

示例

from bs4 import BeautifulSoup
html = '''
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ultricies nec erat ut ornare. <span class="it">Duis vel ante finibus</span>, vestibulum felis non, venenatis mi. Integer imperdiet eleifend placerat.</p>

<p>Aenean id mollis ligula, vel vestibulum ante. <span class="it">Nullam feugiat ex a mi fringilla, vitae semper dolor efficitur.</span> Phasellus et sollicitudin urna, at lacinia arcu. Curabitur orci justo, accumsan eu tempor sed, volutpat ac metus.</p>
'''

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

for e in soup.select('span.it'):
    e.name = 'i'
    del e['class']

soup
输出
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ultricies nec erat ut ornare. <i>Duis vel ante finibus</i>, vestibulum felis non, venenatis mi. Integer imperdiet eleifend placerat.</p>
<p>Aenean id mollis ligula, vel vestibulum ante. <i>Nullam feugiat ex a mi fringilla, vitae semper dolor efficitur.</i> Phasellus et sollicitudin urna, at lacinia arcu. Curabitur orci justo, accumsan eu tempor sed, volutpat ac metus.</p>

You could simply rename the tags name and delete its class attribute:

for e in soup.select('span.it'):
    e.name = 'i'
    del e['class']

or in case that there are more attributes:

for e in soup.select('span.it'):
    e.name = 'i'
    for attr in list(e.attrs):
        del e[attr]

Example

from bs4 import BeautifulSoup
html = '''
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ultricies nec erat ut ornare. <span class="it">Duis vel ante finibus</span>, vestibulum felis non, venenatis mi. Integer imperdiet eleifend placerat.</p>

<p>Aenean id mollis ligula, vel vestibulum ante. <span class="it">Nullam feugiat ex a mi fringilla, vitae semper dolor efficitur.</span> Phasellus et sollicitudin urna, at lacinia arcu. Curabitur orci justo, accumsan eu tempor sed, volutpat ac metus.</p>
'''

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

for e in soup.select('span.it'):
    e.name = 'i'
    del e['class']

soup
Output
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin ultricies nec erat ut ornare. <i>Duis vel ante finibus</i>, vestibulum felis non, venenatis mi. Integer imperdiet eleifend placerat.</p>
<p>Aenean id mollis ligula, vel vestibulum ante. <i>Nullam feugiat ex a mi fringilla, vitae semper dolor efficitur.</i> Phasellus et sollicitudin urna, at lacinia arcu. Curabitur orci justo, accumsan eu tempor sed, volutpat ac metus.</p>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文