所以我正在为一个项目测试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")
可能有所帮助,并尝试了它的变体,但错误仍然出现。也许有一个我错过的变化。总的来说,我不知道该怎么做。
为你提供的任何帮助干杯。
编辑:已经向我指出了其他答案,这使得它看起来像一个简单的修复,但我不太明白我会改变什么,因为我的代码与错误提供的建议有点不同。
答案 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")
这是编辑前后的屏幕截图。