如何從我在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