Python을 사용하여 HTML에서 일반 텍스트 추출
HTML 파일에서 텍스트 콘텐츠를 검색하려면 견고성을 고려하는 것이 중요합니다. HTML 엔터티를 정확하고 효과적으로 처리하는 메서드입니다. 정규식을 사용하는 솔루션은 제한적일 수 있지만 Beautiful Soup과 같은 라이브러리는 보다 정교한 옵션을 제공합니다. 그러나 원치 않는 텍스트 캡처 및 항목 해석 문제는 여전히 남아 있습니다.
Beautiful Soup: 주의 사항이 있는 강력한 도구
Beautiful Soup은 HTML 구문 분석에 널리 사용되는 선택이지만 JavaScript 소스와 같은 추가 요소를 검색하고 HTML 엔터티를 해석하지 못할 수 있습니다. 예를 들어 ' 소스 코드의 는 추출된 텍스트에서 아포스트로피로 변환되지 않습니다.
Enter html2text: 유망한 솔루션
현재 html2text가 매력적인 옵션으로 떠오르고 있습니다. HTML 엔터티를 쉽게 처리하고 JavaScript와 같은 불필요한 콘텐츠를 무시합니다. 일반 텍스트 대신 마크다운을 출력하지만 쉽게 변환할 수 있습니다.
강력하고 사용자 정의 가능한 접근 방식
다음 코드 조각은 Beautiful Soup을 활용하고 향상된 제어 기능을 제공합니다. 추출 프로세스:
from urllib.request import urlopen from bs4 import BeautifulSoup url = "http://news.bbc.co.uk/2/hi/health/2284783.stm" html = urlopen(url).read() soup = BeautifulSoup(html, features="html.parser") # Remove unwanted elements like scripts and styles for script in soup(["script", "style"]): script.extract() # Extract the text content text = soup.get_text() # Preprocess the text for improved readability lines = (line.strip() for line in text.splitlines()) chunks = (phrase.strip() for line in lines for phrase in line.split(" ")) text = '\n'.join(chunk for chunk in chunks if chunk) print(text)
이 접근 방식을 사용하면 일반 텍스트를 효과적으로 추출하여 두 가지 모두를 처리할 수 있습니다. 귀하의 요구 사항에 따라 원하는 콘텐츠와 원치 않는 콘텐츠가 있습니다.
위 내용은 Python은 어떻게 HTML에서 일반 텍스트를 효율적으로 추출하고 엔터티와 원치 않는 콘텐츠를 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!