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
방법
bs4
에서 사라 BeautifulStoneSoup
와 http://www.crummy.com/software/BeautifulSoup/bs4/doc/#unwrap http://www.crummy.com/software/BeautifulSoup/bs4/doc/#get-text
46
, 더 쉽게, 그것은 Python3
from bs4 import BeautifulSoup
soup = BeautifulSoup(html)
text = soup.get_text()
print(text)
6
사용 get_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>
예상 된 결과는 다음과 같습니다
#!/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. 모든 태그를 제거하는 방법?
- 2. 요소에서 모든 유형 이벤트를 제거하는 방법
- 3. XSL에서 conditons가있는 모든 빈 태그를 제거하는 방법
- 4. 깔끔하게 모든 HTML 태그를 제거하는 방법
- 5. 문자열을 기반으로 모든 이미지 태그를 제거하는 방법
- 6. ServiceStack Response에서 모든 HTML 태그를 제거하는 방법
- 7. 배열 요소에서 괄호를 제거하는 방법
- 8. URL에서 태그를 제거하는 방법
- 9. 특정 요소에서 fastclick을 제거하는 방법?
- 10. 여러 요소에서 이벤트를 제거하는 방법
- 11. 배열의 모든 요소에서 문자열을 제거하는 방법은 무엇입니까?
- 12. 요소에서 모든 스타일을 제거하는 방법은 무엇입니까?
- 13. XML 태그를 유지하지만 HTML 태그를 제거하는 방법
- 14. 안드로이드에서 html 태그를 제거하는 방법
- 15. div의 모든 자식 요소에서 JQM 스타일을 제거하는 방법
- 16. jQuery를 사용하여 페이지의 모든 요소에서 클래스를 제거하는 방법
- 17. 벡터의 모든 요소를 다른 요소에서 제거하는 빠른 (est) 방법
- 18. 페이지의 모든 양식 요소에서 하나의 공통 속성을 제거하는 방법은 무엇입니까?
- 19. 요소에서 mCsutomScrollbar를 제거하는 jQuery
- 20. div 요소에서 텍스트의 마지막 문자를 제거하는 방법
- 21. iOS 구성 요소에서 테두리를 제거하는 방법
- 22. jQuery로 html 요소에서 클래스를 추가하거나 제거하는 방법
- 23. jQuery : 요소에서 포함 된 스타일을 제거하는 방법?
- 24. 행의 마지막 요소에서 여백을 제거하는 방법
- 25. 유효한 태그를 제거하는 TinyMCE
- 26. node.js 태그를 제거하는 regEx
- 27. Visual Studio에서 특정 HTML 태그를 제거하는 방법
- 28. 안전한 목록에없는 HTML 태그를 제거하는 방법
- 29. CSS 태그를 적용한 CSS 속성을 제거하는 방법
- 30. Obj-C에서 태그를 제거하는 간단한 방법
그것은이다 : 여기
소스 코드입니다 getText() 대신'get_text()'를 사용하는 것이 더 좋습니다. – SparkAndShine왜 그럴까요? 그것은 사실일지도 모르지만 그 이유를 이해하는 것이 도움이 될 것입니다. –
getText()는 bs3 구문이며 pep8을 준수하지 않습니다. 가능성이 높습니다. –