Python을 사용하여 HTML 파일에서 깨끗한 텍스트 추출
Python을 사용하여 HTML 파일에서 텍스트를 추출하려는 경우 견고성과 정확성을 고려하는 것이 중요합니다. . 정규식은 종종 작업을 수행할 수 있지만 형식이 잘못된 HTML로 인해 어려움을 겪을 수 있습니다.
보다 강력한 솔루션을 위해 일반적으로 Beautiful Soup과 같은 라이브러리가 권장됩니다. 그러나 사용자는 JavaScript 소스 및 잘못된 HTML 엔터티 해석과 같은 원치 않는 텍스트로 인해 문제에 직면할 수 있습니다.
이러한 문제를 해결하려면 보다 포괄적인 접근 방식이 필요합니다.
html2text: 유망한 솔루션
유망한 솔루션 중 하나는 html2text입니다. 이 라이브러리는 HTML 엔터티를 올바르게 처리하고 JavaScript를 무시합니다. 그러나 일반 텍스트 대신 Markdown을 생성하므로 변환하려면 추가 처리가 필요합니다.
BeautifulSoup 및 사용자 정의 코드 활용
대체 접근 방식은 BeautifulSoup을 다음과 함께 사용하는 것입니다. 사용자 정의 코드. 원치 않는 요소(예: 스크립트 및 스타일)를 제거하고 get_text() 메서드를 활용하면 정규 표현식에만 의존하지 않고 깔끔한 텍스트 표현을 얻을 수 있습니다.
다음은 이 접근 방식을 보여주는 Python 코드 조각입니다.
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 script and style elements for script in soup(["script", "style"]): script.extract() # Extract text text = soup.get_text() # Additional processing to remove unwanted whitespace and split headlines into separate lines 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)
이 접근 방식을 사용하면 처리할 수 없는 정규식이나 라이브러리의 단점 없이 HTML 파일에서 깨끗하고 사람이 읽을 수 있는 텍스트를 추출할 수 있습니다. 모든 시나리오를 효과적으로.
위 내용은 정규식의 함정을 피하면서 Python의 HTML 파일에서 깨끗한 텍스트를 어떻게 추출할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!