Python

Python去除html标签的几种方法

文 / 大炳哥 来源 / 原创 阅读 / 9866 2年前

最近小说看得比较多,但是很多小说网站都存在各种小广告,看起来很不方便,所以就自己写了个小程序,把小说都爬下来,然后搭个自己喜欢web页面来看。

在爬取过程中没有出现太大的问题,只有在清洗数据时,发现小说文本中混杂HTML标签,所以就需要对标签进行清洗。

我自己尝试了字符串的处理方式,正则,还有lxml等方式来处理这个问题,现在记录一下使用方式。

我们使用下面这个字符串举例说明,内容为一段html代码。需要对这段字符串进行处理,提取文本

html = '你好<br/><font>哈哈</font><b>大家好</b>'

1. 使用正则来处理

import re

pattern = re.compile(r'<[^>]+>',re.S)
result = pattern.sub('', html)
print(result)

输出结果:

你好哈哈大家好

2. 使用BeautifulSoup来处理

from bs4 import BeautifulSoup

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

输出结果:

你好哈哈大家好

3. 使用lxml来出来

from lxml import etree

response = etree.HTML(text=html)
# print(dir(response))
print(response.xpath('string(.)'))

输出结果:

你好哈哈大家好

15

评论

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

站点声明:本站转载作品版权归原作者及来源网站所有,原创内容作品版权归作者所有,任何内容转载、商业用途等均须联系原作者并注明来源。

© 2019 The Pride & Joy of an Artisan. · Designed By duoguyu · Powered By Django京ICP备19006898号-1
相关侵权、举报、投诉及建议等,请发E-mail:lemont0086@163.com

友情链接: 大炳哥的博客 逐梦个人博客 微微的博客 daixu 十年之约