스택큐힙리스트

bs4.FeatureNotFound: 요청한 기능을 갖춘 트리 빌더(lxml)를 찾을 수 없습니다. 파서 라이브러리를 설치해야 하나요? 본문

카테고리 없음

bs4.FeatureNotFound: 요청한 기능을 갖춘 트리 빌더(lxml)를 찾을 수 없습니다. 파서 라이브러리를 설치해야 하나요?

스택큐힙리스트 2023. 4. 4. 11:48
반응형

...

soup = BeautifulSoup(html, lxml)

File /Library/Python/2.7/site-packages/bs4/__init__.py, line 152, in __init__

% ,.join(features))

bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library?

위의 출력은 내 터미널에서 나온 것입니다. 나는 맥 OS 10.7.x에서 작업하고 있습니다. 파이썬 2.7.1을 가지고 있으며 아름다운 소프와 lxml을 설치하기 위해 this tutorial를 따랐으며 둘 다 성공적으로 설치되고 별도의 테스트 파일 located here 와 함께 작동합니다. 이 오류를 일으키는 파이썬 스크립트에는 다음 라인이 포함되어 있습니다. from pageCrawler import comparePages

그리고 pageCrawler 파일에는 다음 두 줄이 포함되어 있습니다. from bs4 import BeautifulSoup

from urllib2 import urlopen

답변 1

나는 BS가 HTML을 읽을 때 사용하는 파서와 관련이 있다는 의심이 든다. 그들은 document is here 이지만, OSX에서 나와 같은 경우 약간의 작업이 필요한 것으로 보인다.

위의 BS4 문서 페이지에서 주목할 점은 기본적으로 BS4가 Python 내장 HTML 파서를 사용한다는 것입니다. OSX에서 Apple 번들 버전의 Python은 문자 포맷팅에 유연하지 않은 2.7.2입니다. 같은 문제를 겪었으므로 Python 버전을 업그레이드하여 이 문제를 우회했습니다. 가상 환경에서 이 작업을 수행하면 다른 프로젝트에 대한 혼란을 최소화할 수 있습니다.

그것을 하는 것이 귀찮아 보인다면, LXML 파서로 전환할 수 있습니다.

pip install lxml

그리고 이제 시도해보세요.

soup = BeautifulSoup(html, lxml)

당신의 상황에 따라 그것이 충분할 수도 있습니다. 저는 이것이 불편해서 Python 버전을 업그레이드하기 충분히 가치 있었습니다. virtualenv를 사용하여 you can migrate your packages을(를) 상당히 쉽게 할 수 있습니다.

답변 2

[한국어 번역]

bs4.FeatureNotFound: lxml과 같은 기능을 가진 tree builder를 찾을 수 없습니다. 파서 라이브러리를 설치해야 하나요?

최근 웹 개발 분야에서 Beautiful Soup4라는 파이썬 라이브러리가 많이 이용되고 있습니다. Beautiful Soup4는 HTML, XML 등의 많은 종류의 마크업 언어를 파싱하는 데 도움을 주고 있습니다. 이 라이브러리는 파서 라이브러리와 함께 사용하는데, lxml 등 다양한 파서 라이브러리가 있습니다.

그러나 때로는 bs4.FeatureNotFound: lxml과 같은 기능을 가진 tree builder를 찾을 수 없다는 에러 메시지가 뜰 때가 있습니다. 이 때는 lxml 라이브러리가 설치되어 있지 않은 경우가 많습니다.

그렇다면 어떻게 해야 할까요? lxml 라이브러리를 설치하면 됩니다. lxml은 C 언어로 작성된 파서 라이브러리로, 빠른 속도와 안정성이 뛰어납니다. 설치 방법은 간단합니다. pip install lxml 명령어를 입력하면 자동으로 설치됩니다.

또한 Beautiful Soup4와 함께 다른 파서 라이브러리를 사용할 수도 있습니다. 그러나 lxml이 가장 널리 사용되는 라이브러리이므로, lxml을 설치하고 사용하는 것이 좋습니다.

웹 개발 분야에서 Beautiful Soup4와 파서 라이브러리는 매우 중요한 역할을 합니다. 그러므로, lxml과 같은 기능을 가진 tree builder를 찾을 수 없다는 에러 메시지가 뜬다면, lxml 라이브러리를 설치해야 한다는 것을 인지하고, 올바른 방법으로 설치하여 사용해야 합니다.

반응형
Comments