文本去除html标签工具栏,去除html标签,获取文本

从网页中获取大段文章时,常常是先获取整个文本处的html标签使用正则处理,但是正则往往只能去除比较规范的前端标签,对于不规范的标签,往往需要多次处理,比较麻烦。

在python中有些库可以实现解决此类问题。

from lxml.html.clean import clean_html

from scrapy.selector import Selector

import requests

if __name__ == '__main__':

res = requests.get('http://baijiahao.baidu.com/s?id=1645248735989537091')

response = Selector(text=res.text)

html = response.xpath('//div[@class="article-content"]').extract()

new_html = clean_html("".join(html) + '

44ds55')

print(new_html)

以上代码是取一个网页中的文本处所有div,并额外加入了以及格式不规范的html标签,输出结果如下:

2b46ec8c9a522dc4d4361611bcb0e031.png

script标签被去除,html标签被补全,clean_html()的作用就是如此。

若想得到格式完整的文本,可以使用remove_tags(text, which_ones=(), keep=(), encoding=None)方法,其中which_onesyua元组。说明

5a0f77261ec40b50507d1a551ac07a73.png

但是你不可以同时使用which_ones和keep,否则就抛出断言

AssertionError: which_ones and keep can not be given at the same time

text = remove_tags(new_html)

print(text)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值