2015-11-04 15 views
26

Nachdem ich BeautifulSoup installiert habe, erscheint diese Warnung immer, wenn ich mein Python in cmd starte.Wie BeautifulSoup Benutzer Warnung loswerden?

D:\Application\python\lib\site-packages\beautifulsoup4-4.4.1-py3.4.egg\bs4\__init__.py:166: 
UserWarning: No parser was explicitly specified, so I'm using the best 
available HTML parser for this system ("html.parser"). This usually isn't a 
problem, but if you run this code on another system, or in a different 
virtual environment, it may use a different parser and behave differently. 

To get rid of this warning, change this: 

BeautifulSoup([your markup]) 

to this: 

BeautifulSoup([your markup], "html.parser") 

Ich habe kein Ideal, warum es herauskommt und wie man es löst.

+8

Die Nachricht, die Sie genau das, was sagt zu tun: 'BeautifulSoup ([Markup] "html.parser")'. Hast du das gemacht und gesehen, was dein Output ist? BeautifulSoup versucht, dir das Leben zu erleichtern. Höre auf die Suppe. :) – idjaw

+1

Ändern Sie Ihren Code wie 'supp = BeautifulSoup (html)' in 'supp = BeautifulSoup (html," html.parser ")'. –

+0

Danke euch allen! : D – jellyfishhuang

Antwort

51

Die Lösung für Ihr Problem ist in der Fehlermeldung deutlich angegeben. Code wie der folgende spezifiziert kein XML/HTML/etc. Parser.

BeautifulSoup(...) 

Um den Fehler zu beheben, werden Sie angeben müssen, welche Parser Sie verwenden möchten, etwa so:

BeautifulSoup(..., "html.parser") 

Sie können auch eine 3rd-Party-Parser installieren, wenn Sie‘ d wie.

+0

Danke! Gelöst. – jellyfishhuang

+0

Das ist großartig !!! Es klappt –

10

Die Dokumentation empfiehlt, dass Sie lxml für die Geschwindigkeit installieren und verwenden.

BeautifulSoup(html, "lxml") 

Wenn Sie eine Version von Python verwenden früher 2 als 2.7.3 oder eine Version von Python 3 früher als 3.2.2, ist es wichtig, dass Sie installieren lxml oder html5lib-Python gebaut -in HTML-Parser ist einfach nicht sehr gut in älteren Versionen.

Installation LXML Parser

  • auf Ubuntu (Debian)

    apt-get install python-lxml 
    
  • Fedora (RHEL basiert)

    dnf install python-lxml 
    
  • Mit PIP

    pip install lxml 
    
Verwandte Themen