반응형
Python / BeautifulSoup-요소에서 모든 태그를 제거하는 방법은 무엇입니까?
BeautifulSoup에서 찾은 요소에서 모든 태그를 제거하려면 어떻게해야합니까?
함께 BeautifulStoneSoup
사라에서 bs4
, 그것은 Python3에서도 간단
from bs4 import BeautifulSoup
soup = BeautifulSoup(html)
text = soup.get_text()
print(text)
내가 본 unwrap
방법 에 대해 언급 한 답변이없는 이유는 무엇 입니까? 또는 더 쉬운 get_text
방법은
http://www.crummy.com/software/BeautifulSoup/bs4/doc/#unwrap http://www.crummy.com/software/BeautifulSoup/bs4/doc/#get-text
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>
예상되는 결과는 다음과 같습니다.
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())
bs4에서 decompose 메서드를 사용할 수 있습니다.
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>
이것이 방법 인 것 같습니다! 저것과 같이 쉬운
이 줄을 사용하면 현재 요소 내의 모든 텍스트 부분을 결합합니다.
''.join(htmlelement.find(text=True))
반응형
'IT박스' 카테고리의 다른 글
Capybara 및 ChromeDriver를 사용하여 입력 필드에서 입력 입력을 시뮬레이션하려면 어떻게해야합니까? (0) | 2020.12.24 |
---|---|
Adding padding to an UIView (0) | 2020.12.24 |
EV (Extended Validation) 코드 서명 자동화 (0) | 2020.12.24 |
Java에서 메소드 당 큰 try-catch를 사용하는 것이 알려진 좋은 방법입니까? (0) | 2020.12.24 |
기본 Javascript 약속 구현 시도 (0) | 2020.12.24 |