4 votes

Impossible de trouver un constructeur d'arbre avec les fonctionnalités que vous avez demandées : html5lib. Avez-vous besoin d'installer une bibliothèque d'analyse syntaxique ?

J'essaie d'utiliser soup4 avec mon python3.5, mais à chaque fois que j'utilise un code pour extraire quelque chose d'internet, j'obtiens cette erreur :

 - s4\__init__.py", line 198, in __init__
       % ",".join(features)) bs4.FeatureNotFound: Couldn't find a tree builder with the features you requested: html5lib. Do you need to    install a parser library?

Il y avait un lien avec la même erreur dans ce site bs4.FeatureNotFound : Impossible de trouver un constructeur d'arbre avec les fonctionnalités demandées : lxml. Avez-vous besoin d'installer une bibliothèque d'analyse syntaxique ? J'ai tout essayé, mais j'ai toujours l'erreur

Toutes les demandes de pip install pip install lxml pip install beautifull soup4

Je télécharge la soupe4 https://www.crummy.com/software/BeautifulSoup/bs4/download/4.6/ manuel et l'installer setup.py install

J'ai tout mis à jour et fonctionne, mais j'obtiens toujours l'erreur plz m'aider

13voto

alecxe Points 50783

Si vous utilisez html5lib comme analyseur syntaxique sous-jacent :

soup = BeautifulSoup(html, "html5lib")
#                            ^HERE^

Ensuite, vous devez avoir html5lib installé dans votre environnement python :

pip install html5lib

Référence de la documentation : Installation d'un analyseur syntaxique .

0voto

dduque Points 48

Pour ceux qui obtiennent la même erreur même avec html5lib installé, remplacez "html5lib" par "html.parser" comme suggéré dans https://github.com/coursera-dl/edx-dl/issues/434

Ça a marché pour moi :)

0voto

vijay Points 21

Pour moi, html.parser fonctionne

from bs4 import BeautifulSoup
import urllib.request 
response = urllib.request.urlopen('http://php.net/') 
html = response.read()
soup = BeautifulSoup(html,"html.parser")
text = soup.get_text(strip=True)
print (text)

0voto

Utiliser ' analyseur syntaxique html au lieu de html5lib '. Cela fonctionnera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X