2012-07-23 3 views
0

일부 HTML을 구문 분석해야합니다. 그러나 "Cowabunga"텍스트가 HTML 요소에 포함되어 있지 않음을 알 수 있듯이 형식이 잘못되었습니다.Python : lxml을 사용하여 스팬 외부의 텍스트 찾기

from lxml.html import fromstring 
from lxml.cssselect import CSSSelector 

stuff = '''<p> 
       <span id="alpha" style="color: #999; "></span> 
       <span id="bravo" style="color: #999; "></span> 
       Cowabunga 
      </p>''' 

l = CSSSelector ("p") 

e = l(fromstring(stuff)) 
print e[0].text 

어떻게이 텍스트를 찾을 수있는 CSSSelector를 작성 LXML/Python을 사용할 수 있습니까?

감사

편집 : 위의 코드는 빈 출력 제공 - 공간의 단지 행을 - 나는 "코와 붕가"

+2

HTML은 형식이 잘못되어 있지 않습니다. - "Cowabunga"는'span'의 직후에 있지만''''안에 있습니다. – BoltClock

+0

예, 형식이 잘못된 것은 아마도 여기에 표준 용어가 아닙니다. Steven의 "혼합 된 콘텐츠"가 더 나은 용어 인 것 같습니다. – sami

답변

2

항상 약간 거친 그래서이 혼합 된 내용입니다 잡을 필요가있다. e[0].text_content()은 예제의 모든 텍스트를 가져옵니다.

관련 문제