2013-04-25 9 views

답변

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> 
46

, 더 쉽게, 그것은 Python3

from bs4 import BeautifulSoup 

soup = BeautifulSoup(html) 
text = soup.get_text() 
print(text) 
+4

그것은이다 : 여기

Signal et Communication Ingénierie Réseaux et Télécommunications 

소스 코드입니다 getText() 대신'get_text()'를 사용하는 것이 더 좋습니다. – SparkAndShine

+1

왜 그럴까요? 그것은 사실일지도 모르지만 그 이유를 이해하는 것이 도움이 될 것입니다. –

+11

getText()는 bs3 구문이며 pep8을 준수하지 않습니다. 가능성이 높습니다. –

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()) 
관련 문제