'gbk' 编解码器无法对位置 55036 的字符 '\u32ab' 进行编码:非法多字节序列

 

(1)、首先在打开文本的时候,设置其编码格式,如:open(‘1.txt’,encoding=’gbk’);

(2)、若(1)不能解决,可能是文本中出现的一些特殊符号超出了gbk的编码范围,可以选择编码范围更广的‘gb18030’,如:open(‘1.txt’,encoding=’gb18030’);

(3)、若(2)仍不能解决,说明文中出现了连‘gb18030’也无法编码的字符,可以使用‘ignore’属性进行忽略,如:open(‘1.txt’,encoding=’gb18030’,errors=‘ignore’);

(4)、还有一种常见解决方法为open(‘1.txt’).read().decode(‘gb18030’,’ignore’)

可以试试把结果,用x.replace('\u..',''),x是你爬取后的结果。这样处理 就是把无法编码的替换成空。一般得替换几个。如果替换5,6个还不行,那再说。这是反扒的一种

with open('os.txt','w',encoding='utf-8') as f:
      f.write(html.text)

 

html.text 就是字符串模式

encoding = 'utf-8' 编码格式