如果我们这样读取html页面
soup= BeautifulSoup(rsp.text,'html.parser',from_encoding='utf-8') # 粗体部分多余了
就会出现下面的警告:
UserWarning: You provided Unicode markup but also provided a value for from_encoding. Your from_encoding will be ignored.
warnings.warn("You provided Unicode markup but also provided a value for from_encoding. Your from_encoding will be ignored.")
当然这警告不影响程序运行,但是控制台输出非必要信息也影响视线。
出现这问题的原因是python3 缺省的编码是unicode, 再在from_encoding设置为utf8就多余了, 会被忽视,然后系统给出警告信息。
解决方法也容易,去掉“from_encoding="utf-8"”这一个好了,如下所示:
soup= BeautifulSoup(rsp.text,'html.parser')
以上程序的实验环境是 Python 3.6.4