2013-04-30 1 views
0

BeautifulSoup 3은 <textarea> 태그의 내용을 html로 해석하지 않는 좋은 기능이 있습니다. 대신 텍스트로 인용합니다. 이 동작은 QUOTE_TAGS 특성을 수정하여 다른 태그에 적용될 수 있습니다. 이것이 유용 할 수있는 방법은 an illustration입니다.BeautifulSoup에서 태그 내용을 텍스트로 추출 (QUOTE_TAGS 상당) 4

BeautifulSoup 4에는 QUOTE_TAGS 속성이 없으므로 html.parser 자신을 하위 클래스 화하지 않고 동일한 기능을 사용할 방법이 없습니다. 내가 놓친 게 있니? BS4를 사용하여 위에서 링크 된 문제를 어떻게 해결할 수 있습니까?

답변

1

Beautiful Soup 4에는 자체 파서가 없으므로 QUOTE_TAGS가 없습니다. 외부 파서를 사용합니다. 서로 다른 파서가 동일한 마크 업을 다르게 처리하고 이러한 차이점 중 하나를 발견했습니다.

lxml 파서와 Python에 내장 된 html.parser는 <textarea>의 내용을 HTML 태그로 처리합니다. html5lib 구문 분석기는 <textarea>의 내용을 원시 데이터로 처리합니다. 당신은 물론, html5lib을 설치해야합니다

BeautifulSoup(markup, "html5lib") 

: html5lib을 사용하는 아름다운 수프를 말하는 것은 당신에게 당신이 원하는 결과를 줄 것이다.

+0

나는 마침내 그것을 시도 할 기회를 얻었고 실제로 html5lib는이 점에서 bs3 파서와 훨씬 비슷하게 동작합니다. 이 답변에 감사드립니다. –

관련 문제