使用BeautifulSoup删除html中的script、注释

本文介绍如何使用Python的BeautifulSoup库去除HTML中的script标签和注释内容,并提供了两个示例代码。第一个示例展示了如何删除所有script标签及其内容,第二个示例则展示了如何移除HTML中的注释。

##示例1:去除script

#! /usr/bin/env python
# -*- coding: utf-8 -*- 

from BeautifulSoup import BeautifulSoup
html = '''
<script>a</script>
baba
<script>b</script>
<h1>hi, world</h1>
'''
soup = BeautifulSoup('<script>a</script>baba<script>b</script><h1>')
[s.extract() for s in soup('script')]
print soup

输出:

baba<h1></h1>

可以使用这种方法去除其他标签、以及其中内容。

也可以将

[s.extract() for s in soup('script')]

替换为:

[s.extract() for s in soup.findAll('script')]

##示例2:去除注释

#! /usr/bin/env python
# -*- coding: utf-8 -*- 

from BeautifulSoup import BeautifulSoup, Comment
data = """<div class="foo">
cat dog sheep goat
<!--
<p>test</p>
-->
</div>"""

soup = BeautifulSoup(data)

for element in soup(text=lambda text: isinstance(text, Comment)):
    element.extract()

print soup.prettify()

输出结果:

<div class="foo">
 cat dog sheep goat
</div>

转载于:https://my.oschina.net/letiantian/blog/504669

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值