使用lxml.html.clean.Cleaner清洗html

简介: 使用lxml.html.clean.Cleaner清洗html

文档:

https://lxml.de/lxmlhtml.html#cleaning-up-html

代码示例

# -*- coding: utf-8 -*-
from lxml.html.clean import Cleaner
html = """
<p cms-style="font-L">  
    <strong>铁打的腾讯</strong>
    <a href="//n.sinaimg.cn/tech/crawl/115/w550h365/20200326/963a-irkazzv3237667.jpg" class="keyword f_st" target="_blank">
        <img src="//n.sinaimg.cn/tech/crawl/115/w550h365/20200326/963a-irkazzv3237667.jpg" alt="">
    </a>
</p>
"""
# 保存新闻的时候,很多属性不需要保存,不然会占用硬盘资源,所以只保留图片标签的src属性就行
safe_attrs = frozenset(['src'])
# a标签也不要,只保留里边的内容
remove_tags = frozenset([
    'a'
])
cleaner = Cleaner(safe_attrs=safe_attrs, remove_tags=remove_tags)
cleaned_html = cleaner.clean_html(html)
print(cleaned_html)
'''
<p>  
    <strong>铁打的腾讯</strong>
        <img src="//n.sinaimg.cn/tech/crawl/115/w550h365/20200326/963a-irkazzv3237667.jpg">
</p>
'''

清洗之后内容简洁多了

相关文章
|
网络协议 Shell Android开发
解决adb网络连接中出现的“由于目标计算机积极拒绝,无法连接”错误
解决adb网络连接中出现的“由于目标计算机积极拒绝,无法连接”错误
解决adb网络连接中出现的“由于目标计算机积极拒绝,无法连接”错误
|
10月前
|
人工智能 API 开发工具
【重磅发布】 免费领取阿里云百炼AI大模型100万Tokens教程出炉,API接口实战操作,DeepSeek-R1满血版即刻体验!
阿里云百炼是一站式大模型开发及应用构建平台,支持开发者和业务人员轻松设计、构建大模型应用。通过简单操作,用户可在5分钟内开发出大模型应用或在几小时内训练专属模型,专注于创新。
3254 89
【重磅发布】 免费领取阿里云百炼AI大模型100万Tokens教程出炉,API接口实战操作,DeepSeek-R1满血版即刻体验!
|
7月前
|
缓存 Android开发 iOS开发
Kotlin跨平台Compose Multiplatform实战指南
Kotlin Multiplatform (KMP) 结合 Compose Multiplatform,助力开发者用一套代码构建跨平台应用(Android、iOS、桌面和 Web)。本文提供实战指南,涵盖环境搭建、项目结构、共享 UI 编写、平台适配、状态管理及资源处理等内容。通过 expect/actual 处理差异,借助官方文档与示例项目学习,减少重复代码,优化多平台开发体验。
1751 18
|
IDE 开发工具 iOS开发
Pandas如何在PyCharm中进行安装?
【7月更文挑战第4天】Pandas如何在PyCharm中进行安装?
4448 61
|
11月前
|
Web App开发 JSON 测试技术
API测试工具集合:让接口测试更简单高效
在当今软件开发领域,接口测试工具如Postman、Apifox、Swagger等成为确保API正确性、性能和可靠性的关键。Postman全球闻名但高级功能需付费,Apifox则集成了API文档、调试、Mock与自动化测试,简化工作流并提高团队协作效率,特别适合国内用户。Swagger自动生成文档,YApi开源但功能逐渐落后,Insomnia界面简洁却缺乏团队协作支持,Paw仅限Mac系统。综合来看,Apifox是国内用户的理想选择,提供中文界面和免费高效的功能。
|
Dart 微服务
dart中使用protobuf
dart中使用protobuf
|
数据可视化
在Flutter中设置更好的Logging的指南
今天,我们将研究可以极大减少应用程序调试时间的任务之一。一旦您习惯了在您的应用程序中以某种方式运行的日志,您将很快能够注意到为什么某些东西不起作用。您可以查看应用程序的流程,如果需要,还可以查看更多内容。
636 0
在Flutter中设置更好的Logging的指南
Acme 账户问题
Acme 账户问题
599 0
|
缓存 移动开发 Rust
Zellij-一个典型的 Rust程序的性能优化案例
Zellij是一款非常优秀的终端工作区和多路复用器(类似于tmux和screen),由于使用Rust语言开发,因此与Zellij与WebAssembly原生兼容。作为一款功能强大,同时又容易上手的终端复用工具,将会话(session)和窗口解耦,使得用户可以在单个窗口内运行多个虚拟终端,真正做到保持界面清爽还提高了工作效率。
Zellij-一个典型的 Rust程序的性能优化案例
|
存储 域名解析 缓存
阿里云 Composer 镜像开源啦!3 步快速搭建自己的 Composer 的镜像!
为了服务 PHP 开发者,2019 年 7 月,阿里云提供了 Composer 镜像服务。本文将为大家介绍如何通过 3 步快速搭建自己的 Composer 镜像。
4582 0
阿里云 Composer 镜像开源啦!3 步快速搭建自己的 Composer 的镜像!