在使用python进行爬取问题时,容易出现编码错误的情况,如:
UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xb9’ in position 61513: illegal multibyte sequence
程序代码:
headers = {
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.120 Safari/537.36 Core/1.77.101.400 QQBrowser/10.9.4622.400"
}
url = "https://www.douban.com"
req = urllib.request.Request(url=url,headers=headers)
response = urllib.request.urlopen(req)
print(response.read().decode('UTF-8'))
遇到这种情况,只需要在前面加上这样一个语句:
sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='gb18030')#改变标准输出的默认编码
就可以解决这个问题,如果有其他疑问,欢迎评论留言,我在进行订正