관리 메뉴

솜씨좋은장씨

[Python] BeautifulSoup - FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library? 해결 방법 본문

Programming/Python

[Python] BeautifulSoup - FeatureNotFound: Couldn't find a tree builder with the features you requested: lxml. Do you need to install a parser library? 해결 방법

솜씨좋은장씨 2021. 12. 30. 09:48
728x90
반응형

친구의 부탁으로 네이버 뉴스 기사 제목과 링크를 크롤링하기 위해

오랜만에 Selenium과 BeautifulSoup (4.10.0버전) 을 활용하여 크롤링 코드를 작성하였습니다.

selenium의 page_source로 가져온 페이지의 html 소스 속에서 필요한 내용을 가져오기 위하여

url_soup = BeautifulSoup(page_html_source, 'lxml')

위와 같이 코드를 작성하고 실행하니

---------------------------------------------------------------------------
FeatureNotFound                           Traceback (most recent call last)
<ipython-input-18-806383b43aec> in <module>
      6     target_date = date_time_obj.strftime("%Y%m%d")
      7 
----> 8     get_naver_news_info_from_selenium(save_path="./", target_date=target_date)

<ipython-input-17-3f86685ab395> in get_naver_news_info_from_selenium(save_path, target_date)
     11     page_html_source = driver.page_source
     12 
---> 13     url_soup = BeautifulSoup(page_html_source, 'lxml')
     14 
     15     url_soup.select("div.group_news")

~/PythonHome/test_python/lib/python3.7/site-packages/bs4/__init__.py in __init__(self, markup, features, builder, parse_only, from_encoding, exclude_encodings, element_classes, **kwargs)
    246                     "Couldn't find a tree builder with the features you "
    247                     "requested: %s. Do you need to install a parser library?"
--> 248                     % ",".join(features))
    249 
    250         # At this point either we have a TreeBuilder instance in

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

위와 같은 오류가 발생하였습니다.

👨🏻‍💻 문제 발생 원인

이 오류가 발생하는 원인은 현재 나의 환경에 xml과 html을 쉽게 파싱할 수 있도록 도와주는

lxml parser가 설치되어있지 않기 때문입니다.

👨🏻‍💻 해결 방법

해결하는 방법은 정말 간단합니다.

$ pip install lxml

pip 를 활용하여 lxml을 설치해주기만 하면!

 

정상적으로 동작하는 것을 볼 수 있습니다.

 

읽어주셔서 감사합니다.

Comments