使用PyDictionary返回BeautifulSoup错误

时间:2017-02-01 18:44:48

标签: python beautifulsoup

所以我正在为一个项目测试PyDictionary,所以写了一个非常短的程序,以确保我已正确安装它等等

from PyDictionary import PyDictionary
dictionary=PyDictionary()

var = dictionary.synonym("life")

print var

然而,这有效,它在打印同义词列表之前还会返回以下内容。

.local/lib/python2.7/site-packages/bs4/__init__.py:181: UserWarning: No parser was explicitly specified, so I'm using the best available HTML parser for this system ("lxml"). 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.

The code that caused this warning is on line 4 of the file dicttest.py. To get rid of this warning, change code that looks like this:

 BeautifulSoup([your markup])

to this:

 BeautifulSoup([your markup], "lxml")

 markup_type=markup_type))

我不确定要将代码更改为什么,以删除此问题。我想可能会将第4行更改为var = (dictionary.synonym("life"), "lxml") 可能有所帮助,并尝试了它的变体,但错误仍然出现。也许有一个我错过的变化。总的来说,我不知道该怎么做。

为你提供的任何帮助干杯。

编辑:已经向我指出了其他答案,这使得它看起来像一个简单的修复,但我不太明白我会改变什么,因为我的代码与错误提供的建议有点不同。

1 个答案:

答案 0 :(得分:0)

PyDictionary 模块中编辑 utils.py 文件对我来说很有效。如果您感到困惑,可以检查错误消息中PyDictionary / utils.py的位置。

例如,在此PC here中,PyDictionary的位置为

  

C:\ Users \ abhis \ AppData \ Local \ Programs \ Python \ Python37 \ lib \ site-packages \ PyDictionary \ utils.py

启动IDLE并进行以下更改。

更改第5行

return BeautifulSoup(requests.get(url).text)

收件人

return BeautifulSoup(requests.get(url).text, features="html.parser")

这是编辑前后的屏幕截图。