MENU

问题解决:AttributeError: 'NoneType' object has no attribute 'encoding'

December 22, 2020 • 数据采集与数据分析(python),数据库技术

在使用Scrapy爬取数据并持久化数据到MySql数据库时,报错AttributeError: 'NoneType' object has no attribute 'encoding',报错截图如下:

报错截图.png

报错字面意思是 没有这个类型的encoding属性,也就是说encoding值设置错误,那是不是链接数据库时设置的字符集有错误。在网上查了下发现还真是这样的:原先错误的数据库链接self.db = pymysql.connect(self.host,self.user,self.passwd,self.database,port=self.port,charset='utf-8')
正确的self.db = pymysql.connect(self.host,self.user,self.passwd,self.database,port=self.port,charset='utf8')
错在charset是utf8,不是utf-8

其他可能:

  • 链接数据库时端口参数写成了字符串也会出现这样的报错,正确是port=3306