小白初学python,想借着博客记录所遇到过的问题,希望大神多多指教!
问题:SyntaxError: Non-ASCII character '\xe7' in file
原因:编码问题,代码中带有中文
解决:使用python2时在开头添加#coding=utf-8
爬虫过程中,把爬回来的数据存成html文件但是发现变成乱码:
问题:爬回来的数据存成html时乱码(像这种:绀煎搧鍗� 浣嶄簬鏂板煄鍖猴紝瑗垮畨鏂板煄鍖鸿タ浜岃矾21),TXT格式可以正常显示中文
原因,浏览器编码问题
解决:换浏览器或者更改浏览器编码方式为Unicode,这样在浏览器可以显示正常
问题:通过scrapy爬虫回来的数据,使用命令scrapy crawl firstSpider -o paper.csv 启动爬虫并存为csv后出现乱码问题,像这样:
原因:编码问题
解决:通过搜索曾经在项目的setting.py文件里添加FEED_EXPORT_ENCODING = 'utf-8'但是没有效果。
然后再通过修改scrapy的源代码,解决问题:找到exporters.py(我的在D:\Program Files\Python2.7\Lib\site-packages\scrapy目录下)找到
class CsvItemExporter(BaseItemExporter):
def __init__(self, file, include_headers_line=True, join_multivalued=',', **kwargs):
self._configure(kwargs, dont_fail=True)
if not self.encoding:
#self.encoding = 'utf-8' 这个是原来的代码,我注释了
self.encoding='gbk' 然后改成了gbk
再次运行scrapy crawl firstSpider -o paper.csv 生成的文件显示为

浙公网安备 33010602011771号