|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
我在用scrapy爬链家网,内容都是中文,由于scrapy的特性,中文字符都会被scrapy转成unicode输出,所以我在pipeline里用以下代码尝试将unicode转成中文输出保存
- import json
- class LianjiaPipeline(object):
- def process_item(self, item, spider):
- with open('data_cn1.json', 'a') as f:
- json.dump(dict(item), f, ensure_ascii=False)
- f.write(',\n')
- return item
复制代码
然后我在windows cmd里运行该爬虫(scrapy crawl lianjiaspider -o items.csv)的时候发现, unicode是转换成中文输出了,但是由于网页里包含  这种字符无法被转换成cmd适用的bgk编码,浴室就会发生以下报错:
UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 7: illegal multibyte sequence
我查到网上的方法是可以通过以下代码将 替换掉,这样就不会出现gbk转码错误
string.replace(u'\xa0', u' ')
但是我尝试了一下实在找不到这个代码要怎么写进pipeline里才能正常运行,求大神指教~ |
|