如何从我在BeautifulSoup中找到的元素中简单剥离所有标签?Python/BeautifulSoup - 如何从元素中删除所有标签?
39
A
回答
2
假设您想要去除的标签,但保留的内容,请参阅接受这个问题的答案:Remove a tag using BeautifulSoup but keep its contents
1
看起来这是做的方式!就这么简单
这一行你的所有文字部分的当前元素中拼接
''.join(htmlelement.find(text=True))
2
可以在BS4使用分解方法:
soup = bs4.BeautifulSoup('<body><a href="http://example.com/">I linked to <i>example.com</i></a></body>')
for a in soup.find('a').children:
if isinstance(a,bs4.element.Tag):
a.decompose()
print soup
Out: <html><body><a href="http://example.com/">I linked to </a></body></html>
13
为什么一直无人接听我见过有关unwrap
方法的任何内容?或者,更加轻松,通过get_text
方法
http://www.crummy.com/software/BeautifulSoup/bs4/doc/#unwrap http://www.crummy.com/software/BeautifulSoup/bs4/doc/#get-text
46
随着BeautifulStoneSoup
在bs4
走了,它甚至在Python3
from bs4 import BeautifulSoup
soup = BeautifulSoup(html)
text = soup.get_text()
print(text)
6
使用get_text()简单,它返回一个文档或下方中的所有文本一个标签,作为一个单一的Unicode字符串。
例如,从下面的文字中删除所有不同的脚本标签:
<td><a href="http://www.irit.fr/SC">Signal et Communication</a>
<br/><a href="http://www.irit.fr/IRT">Ingénierie Réseaux et Télécommunications</a>
</td>
预期的结果是:
Signal et Communication
Ingénierie Réseaux et Télécommunications
这里是源代码:
#!/usr/bin/env python3
from bs4 import BeautifulSoup
text = '''
<td><a href="http://www.irit.fr/SC">Signal et Communication</a>
<br/><a href="http://www.irit.fr/IRT">Ingénierie Réseaux et Télécommunications</a>
</td>
'''
soup = BeautifulSoup(text)
print(soup.get_text())
相关问题
- 1. 删除所有子元素除了<a>标签
- 2. 删除子标签/元素
- 3. 删除JavaScript中的所有标签元素
- 4. 如何删除所有标签?
- 5. 按标签拆分数组并删除所有类似元素
- 6. 从所有HTML元素中删除属性标题
- 7. 如何从XmlDocument中删除所有评论标签
- 8. 如何从下载页面中删除所有html标签
- 9. 如何从标签中删除所有填充?
- 10. 如何从元素中删除所有jQuery验证引擎类?
- 11. 如何使用NSOutlineController从NSTreeController中删除所有元素
- 12. 如何从Vector中删除所有特定元素
- 13. 如何从DOM中删除子元素时删除父元素?
- 14. 如何在Zend的表单元素删除所有DtDdWrappers和标签
- 15. 如何删除特定标签后的所有标签?
- 16. 如何使用DOMDocument删除body元素的所有子元素?
- 17. 如何删除选定元素之后的所有元素?
- 18. 删除选择中的所有元素
- 19. 从元素中删除元素而不删除元素后
- 20. XSLT从所有元素中删除时间戳,除了一个
- 21. 从元组列表中删除所有出现的元素
- 22. 如何从TabHost中删除标签
- 23. 如何从Twitter标签中删除#?
- 24. 如何从标签中删除数据
- 25. 如何从标签中删除冒号?
- 26. 如何从npm中删除标签?
- 27. 如何从列表中删除元素
- 28. 如何从jlist中删除元素?
- 29. 如何从b-tree中删除元素?
- 30. 如何从结构中删除元素
这是最好使用'get_text()'而不是'getText()'。 – SparkAndShine 2015-07-20 16:21:17
这是为什么?很可能是这种情况,但理解原因会有所帮助。 – 2015-08-18 08:41:42
getText()是bs3语法,不符合pep8。它可能会被弃用。 – 2015-08-31 18:04:50