Как избавиться от предупреждения пользователя BeautifulSoup?
После того, как я установил BeautifulSoup, всякий раз, когда я запускаю свой Python в cmd, это предупреждение появляется.
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")
У меня нет идеального решения, почему оно выходит и как его решить.
Ответы
Ответ 1
Решение вашей проблемы четко указано в сообщении об ошибке. Код, подобный приведенному ниже, не указывает XML/HTML/и т.д. синтаксический анализатор.
BeautifulSoup( ... )
Чтобы исправить ошибку, вам нужно указать, какой парсер вы хотите использовать, например:
BeautifulSoup( ..., "html.parser" )
Вы также можете установить сторонний парсер, если хотите.
Ответ 2
Документация рекомендует установить и использовать lxml для скорости.
BeautifulSoup(html, "lxml")
Если вы используете версию Python 2 раньше 2.7.3 или версию Python 3 раньше 3.2.2, важно, чтобы вы установили lxml или html5lib-Pythons встроенный HTML-парсер просто не очень хорош в более старые версии.
Установка парсера LXML