bs4.FeatureNotFound: Не удалось найти конструктор дерева с запрошенными функциями: html5lib

Я получил эту ошибку при запуске моего кода Python:

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

Поэтому я искал в Интернете и читал это

Я проверил мои установленные пакеты, и html5lib, и шесть, похоже, являются последней версией.

beautifulsoup4 (4.6.0)
html5lib (1.0.1)
pip (9.0.1)
setuptools (28.8.0)
six (1.11.0)
webencodings (0.5.1)

Интересно, в чем здесь проблема?

*Контекст:

import urllib.request
from bs4 import BeautifulSoup

url0 = 'http://py4e-data.dr-chuck.net/known_by_Cruz.html'

url = url0
name = list()
for i in range(0,7):
    html = urllib.request.urlopen(url).read()
    soup = BeautifulSoup(html,"html5lib")
....

Когда я запустил точно такой же код в ноутбуке Jupyter, он запустился без проблем.

2 ответа

Вы пытаетесь заменить "htmllib" на "html.parser"

Например:

soup = BeautifulSoup(html,"html5lib") **->** soup = BeautifulSoup(data, "html.parser")

Попробуйте использовать любой из следующих вариантов:

  • HTML-парсер Python

            soup_object= BeautifulSoup(markup,"html.parser") 
    
  • C-зависимый парсер

            pip install lxml
    soup_object= BeautifulSoup(markup,'lxml')
    

    или

            pip install html5lib
    soup_object= BeautifulSoup(markup,'html5lib') 
    
Другие вопросы по тегам