MYPYNOTE

导航

 

小白初学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 生成的文件显示为

 


 

 

 

posted on 2018-07-23 16:31  MYPYNOTE  阅读(215)  评论(0)    收藏  举报