beautifulsoup去除标签_python – 使用BeautifulSoup删除标签,但保留其内容
我使用的策略是用它的内容替换一个标签,如果它们是NavigableString类型,如果它们不是,然后递归到它们并用NavigableString等替换它们的内容。尝试这样:
from BeautifulSoup import BeautifulSoup, NavigableString
def strip_tags(html, invalid_tags):
soup = BeautifulSoup(html)
for tag in soup.findAll(True):
if tag.name in invalid_tags:
s = ""
for c in tag.contents:
if not isinstance(c, NavigableString):
c = strip_tags(unicode(c), invalid_tags)
s += unicode(c)
tag.replaceWith(s)
return soup
html = "
Good, bad, and ugly
"
invalid_tags = ['b', 'i', 'u']
print strip_tags(html, invalid_tags)
其结果是:
Good, bad, and ugly
我给另一个问题这个相同的答案。它似乎出现了很多。
beautifulsoup去除标签_python – 使用BeautifulSoup删除标签,但保留其内容相关推荐
- python中beautifulsoup的作用_python 中BeautifulSoup入门
在前面的例子用,我用了BeautifulSoup来从58同城抓取了手机维修的店铺信息,这个库使用起来的确是很方便的.本文是BeautifulSoup 的一个详细的介绍,算是入门把.文档地址:http: ...
- 【Git】Git 标签使用 ( 查询哈希码 | 创建标签 git tag v1.0 | 查询标签 git tag | 查询标签信息 git show v1.0 | 创建标签并指定说明 | 删除标签 )
文章目录 一.查询提交记录哈希码 1.git log --pretty=oneline --abbrev-commit 2.git reflog 二.为某个提交设置标签 git tag v1.0 23 ...
- python soup提取叶子标签_python 利用beautifulSoup提取页面多个标签的文本内容
初学beautifulsoup解析库,拿一个招聘网页练手,想达到提取多个标签的文本内容,但是目前只可以提取到单个标签的单个文本内容,多标签的文本如何提取? from requests.exceptio ...
- Python怎么使用beautifulsoup来从HTML片段中删除标签
soup.get_text() 使用get_text()方法即可 一直没找到,保存一下. 转载于:https://blog.51cto.com/daoxin/1625795
- python爬虫提取a标签_python 爬取a标签内href的方法及遇到的问题
1 #-*- coding:utf-8 -*- 2 #python 2.7 3 #XiaoDeng 4 #http://tieba.baidu.com/p/2460150866 5 #标签操作 6 7 ...
- python 标签_Python DataFrame中 打标签/归类 的6种方法
1. 单字段打是否标签----Numpy.where 公式:Numpy.where(判断条件,条件为真时的值,条件为假时的值) 例子:我需要新增一列目标变量,逾期30天以上的定义为坏客户,标签为1,否 ...
- python list 去除元素_python中如何删除list元素?
我们在使用微博的时候,看到关注的内容,会评论加入这件事的讨论.但是随着事态的发现,你可能会发现自己的言论不正确,你会选择删除.删除在我们生活中是很常见的事情,谁都不希望错误发生,一旦发生,就要删除改正 ...
- 【JS】设置、获取、删除标签属性以及H5自定义属性
目录 1.设置标签属性 2.获取标签属性 3.删除标签属性 4. 判断是否包含指定的属性 5.HTML5自定义属性 1.设置标签属性 使用setAttribute()('属性名', '属性值')方法可 ...
- BeautifulSoup查找、选择、删除标签,获取标签属性、文本等
new一个对象 from bs4 import BeautifulSoup soup = BeautifulSoup(html, features="html.parser") 1 ...
最新文章
- 再学Android之多线程
- 解决 win10 下载文件时 没有权限保存到某盘
- mysql flush 使用
- 安装Scrapy时:Microsoft Visual C++ 9.0 is required
- 加权最小二乘法的理解
- step4 . day6 线程与线程的创建
- 2019ICPC(南京) - Holy Grail(最短路)
- struts2 redirect 获取参数null_社会化登录支持授权域以便于获取更大权限
- 英伟达DALI加速技巧:让数据预处理速度比原生PyTorch快4倍
- CodeForces - 93B(贪心+vectorpairint,double +double 的精度操作
- java为什么删除jpg删不掉_java-如何在不损失质量的情况下从图像(JPG)删除元数据?...
- oracle查询:分组查询,取出每组中的第一条记录
- 服务器怎么安装mysql数据库
- n个人围成一圈指针c语言,C语言N个人围成一圈报数用二级指针实现,不用数组!...
- 用Python爬虫爬取“女神吧”上的照片。
- ThinkPHP 漏洞利用工具
- 如何搭建自己的内测分发平台?有可以直接用的内测分发平台吗?
- 升压减压以及充电电路设计
- bios基本输入输出系统
- 法国英语计算机硕士,法国留学 |无须法语成绩,巴黎高等电信学院2021年入学英文授课项目盘点~...