python删除html文本及子节点_从HTML文件中删除文本,但使用python保留javascript和结构...

有很多方法可以从html文件中提取文本,但我想做相反的事情,并在结构和javascript代码保持完好无损的情况下删除文本.

例如删除所有同时保留

是否有捷径可寻?任何帮助是极大的赞赏.

干杯

解决方法:

我会选择BeautifulSoup:

from bs4 import BeautifulSoup

from bs4.element import NavigableString

from copy import copy

def strip_content(in_tag):

tag = copy(in_tag) # remove this line if you don't care about your input

if tag.name == 'script':

# Do no mess with scripts

return tag

# strip content from all children

children = [strip_content(child) for child in tag.children if not isinstance(child, NavigableString)]

# remove everything from the tag

tag.clear()

for child in children:

# Add back stripped children

tag.append(child)

return tag

def test(filename):

soup = BeautifulSoup(open(filename))

cleaned_soup = strip_content(soup)

print(cleaned_soup.prettify())

if __name__ == "__main__":

test("myfile.html")

标签:beautifulsoup,extract,html,python

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值