435 Stimmen

Bs4.FeatureNotFound: Es konnte kein Baumeigenschaftssucher mit den von Ihnen angeforderten Funktionen gefunden werden: lxml. Müssen Sie eine Parser-Bibliothek installieren?

...
soup = BeautifulSoup(html, "lxml")
Datei "/Library/Python/2.7/site-packages/bs4/__init__.py", Zeile 152, in __init__
% ",".join(features))
bs4.FeatureNotFound: Konnte keinen Baumersteller mit den angeforderten Funktionen finden: lxml. Müssen Sie eine Parser-Bibliothek installieren?

Die oben genannte Ausgabe erscheint auf meinem Terminal. Ich benutze Mac OS 10.7.x. Ich habe Python 2.7.1 und bin diesem Tutorial gefolgt, um Beautiful Soup und lxml zu installieren, die beide erfolgreich installiert wurden und mit einer separaten Testdatei hier gefunden werden können. Im Python-Skript, das diesen Fehler verursacht, habe ich folgende Zeile eingefügt: from pageCrawler import comparePages Und in der Datei pageCrawler habe ich die folgenden beiden Zeilen eingefügt: from bs4 import BeautifulSoup from urllib2 import urlopen

Wie kann dieses Problem gelöst werden?

1voto

BrianBrain Punkte 58

Wichtig für Jupyter Notebook-Benutzer: Wenn Sie sich für den lxml-Parser entscheiden, stellen Sie sicher, dass Sie den Jupyter Notebook-Kernel nach der Installation mit pip install lxml neu starten. Andernfalls kann der Parser nicht gefunden werden, da er noch nicht ordnungsgemäß initialisiert wurde. Das Neustarten des Kernels ist über die Jupyter Notebook-Web-/PyCharm-/VSCode-GUI möglich.

0voto

abbas abaei Punkte 63

Diese Methode hat bei mir funktioniert. Ich ziehe es vor zu erwähnen, dass ich dies in der virtuellen Umgebung ausprobiert habe. Zuerst:

pip install --upgrade bs4

Zweitens, habe ich:

html.parser

anstatt von

html5lib

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X