Après avoir installé BeautifulSoup, chaque fois que j'exécute mon Python dans cmd, cet avertissement apparaît.
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 pas d'idéal pourquoi il sort et comment le résoudre.
La solution à votre problème est clairement indiquée dans le message d'erreur. Un code comme ci-dessous ne spécifie pas un XML/HTML/etc. analyseur.
BeautifulSoup( ... )
Afin de corriger l'erreur, vous devez spécifier quel analyseur vous souhaitez utiliser, comme ceci:
BeautifulSoup( ..., "html.parser" )
Vous pouvez également installer un analyseur tiers si vous le souhaitez.
La documentation vous recommande d'installer et d'utiliser lxml pour plus de rapidité.
BeautifulSoup(html, "lxml")
Si vous utilisez une version de Python 2 antérieure à 2.7.3, ou une version de Python 3 antérieure à 3.2.2, il est essentiel que vous installer lxml ou html5lib: l'analyseur HTML intégré de Python n'est tout simplement pas très performant dans les versions précédentes.
Installation de l'analyseur LXML
Sur Ubuntu (debian)
apt-get install python-lxml
Fedora (basé sur RHEL)
dnf install python-lxml
Utiliser PIP
pip install lxml
Pour l'analyseur HTML, vous devez installer html5lib, exécuter:
pip install html5lib
ajoutez ensuite html5lib dans la méthode BeautifulSoup:
htmlDoc = bs4.BeautifulSoup(req1.text, 'html5lib')
print(htmlDoc)