【问题标题】:error: UnicodeEncodeError: 'gbk' codec can't encode charactor错误:UnicodeEncodeError:“gbk”编解码器无法编码字符
【发布时间】:2017-02-28 02:56:52
【问题描述】:

我是 python 初学者。我写的代码如下:

from bs4 import BeautifulSoup
import requests

url = "http://www.google.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, "html.parser")
links = soup.find_all("a")
for link in links:
    print(link.text)

在 windows powershell 中运行这个 .py 文件时, print(link.text) 会导致以下错误。

error: UnicodeEncodeError: 'gbk' codec can't encode charactor '\xbb' in position 5: 
illegal multibyte sequence.

我知道这个错误是由一些汉字引起的,而且我似乎应该使用“解码”或“忽略”,但我不知道如何修复我的代码。请帮忙!谢谢!

【问题讨论】:

    标签: python


    【解决方案1】:

    如果您不想显示这些特殊字符:
    您可以通过以下方式忽略它们:

    print(link.text.encode(errors="ignore"))
    

    【讨论】:

      【解决方案2】:

      您可以对utf8中的字符串进行编码。

      for link in links:
          print(link.text.encode('utf8'))
      

      但更好的方法是:

      response = requests.get(url)
      soup = BeautifulSoup(response.text.encode("utf8"), "html.parser")
      

      要了解有关您面临的问题的更多信息,您应该查看此stackoverflow answer

      【讨论】:

        猜你喜欢
        • 2011-03-14
        • 1970-01-01
        • 2019-09-01
        • 2015-10-21
        • 2010-12-11
        • 2015-01-21
        相关资源
        最近更新 更多