2015-11-04 1 views
26

Après avoir installé BeautifulSoup, à chaque fois que je lance mon Python dans cmd, cet avertissement apparaît.Comment se débarrasser de l'avertissement de l'utilisateur BeautifulSoup?

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") 

Je n'ai aucune idée de pourquoi il ressort et comment le résoudre.

+8

Le message vous dit exactement ce qu'il faut faire: 'BeautifulSoup ([votre balisage], "html.parser")'. Avez-vous fait cela et voyez ce que votre sortie est? BeautifulSoup essaie de vous faciliter la vie. Écoutez la soupe. :) – idjaw

+1

Changez votre code comme 'soup = BeautifulSoup (html)' en soupe = BeautifulSoup (html, "html.parser") '. –

+0

Merci à tous! : D – jellyfishhuang

Répondre

51

La solution à votre problème est clairement indiquée dans le message d'erreur. Le code comme ci-dessous ne spécifie pas de code XML/HTML/etc. analyseur

BeautifulSoup(...) 

Pour corriger l'erreur, vous devrez spécifier quel analyseur vous souhaitez utiliser, comme ceci:

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

Vous pouvez également installer un analyseur 3ème partie si vous d aimer.

+0

Merci! Résolu. – jellyfishhuang

+0

C'est génial !!! Ça marche –

10

La documentation recommande d'installer et d'utiliser lxml pour la vitesse.

BeautifulSoup(html, "lxml") 

Si vous utilisez une version de Python 2 plus tôt que 2.7.3, ou une version de Python 3 avant 3.2.2, il est essentiel que vous installez lxml ou html5lib-Python construit -in parser HTML n'est pas très bon dans anciennes versions.

Installation analyseur LXML

  • sur Ubuntu (debian)

    apt-get install python-lxml 
    
  • Fedora (basé RHEL)

    dnf install python-lxml 
    
  • Utilisation de PIP

    pip install lxml