Python의 문자열에서 HTML 태그 제거
Python에는 문자열에서 HTML 태그를 제거해야 하는 다양한 시나리오가 있습니다. 그 내용을 추출합니다. 이 문제에 대한 해결책을 살펴보겠습니다.
예제 스니펫에 표시된 것처럼 mechanize 라이브러리를 사용하여 HTML 콘텐츠를 검색한다고 가정해 보겠습니다. 콘텐츠의 각 줄에는 HTML 태그와 텍스트가 포함되어 있습니다. 텍스트만 추출하려면 태그를 제거해야 합니다.
한 가지 옵션은 사용자 정의 기능을 사용하여 이 작업을 수행하는 것입니다. Strip_tags 함수는 HTMLParser 클래스를 활용하여 HTML 콘텐츠를 처리하는 파서를 생성합니다. 파서는 태그 내의 데이터만 추출하여 StringIO 객체에 축적합니다.
다음은 Python 3용 코드 조각입니다.
from io import StringIO from html.parser import HTMLParser class MLStripper(HTMLParser): def __init__(self): super().__init__() self.reset() self.strict = False self.convert_charrefs= True self.text = StringIO() def handle_data(self, d): self.text.write(d) def get_data(self): return self.text.getvalue() def strip_tags(html): s = MLStripper() s.feed(html) return s.get_data()
Python 2의 경우 다음 코드를 사용하세요.
from HTMLParser import HTMLParser from StringIO import StringIO class MLStripper(HTMLParser): def __init__(self): self.reset() self.text = StringIO() def handle_data(self, d): self.text.write(d) def get_data(self): return self.text.getvalue() def strip_tags(html): s = MLStripper() s.feed(html) return s.get_data()
HTML 콘텐츠를 이 함수에 전달하면 태그를 효과적으로 제거하고 텍스트만 유지할 수 있습니다. 내용입니다.
위 내용은 Python의 문자열에서 HTML 태그를 효율적으로 제거하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!