我通过添加将.encode("utf-8")
其修复soup
。
那意味着print(soup)
变成print(soup.encode("utf-8"))
。
UnicodeEncodeError
将抓取的网页内容保存到文件中时,我得到的是相同的。为了解决这个问题,我替换了以下代码:
with open(fname, "w") as f:
f.write(html)
有了这个:
import io
with io.open(fname, "w", encoding="utf-8") as f:
f.write(html)
使用io
可以向后兼容Python 2。
如果只需要支持Python 3,则可以改用内置open
函数:
with open(fname, "w", encoding="utf-8") as f:
f.write(html)