Scrapy : UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 2...错误

在用scrapy爬取网页数据时,Selector解析网页数据时 ,  会出现如题的错误。

response.xpath('//*[@id="pagelist"]/div/text()').extract()[0]

这样写打印出来,是不会报错的。

response.xpath('//*[@id="pagelist"]/div/text()')

加上extract()就会报这样子的错。因为extract()返回选中内容的Unicode字符串。网页中如果出现 就会变成\xa0的字符就会出现如题的错误。

如何解决呢???  上代码:

response.xpath('//*[@id="pagelist"]/div/text()').re(r'[^\xa0]'))

没错,就是用正则表达式去除掉\xa0即可。然后这样处理后得到的是一个[]的数组,要想得到字符串类型的数据

"".join(response.xpath('//*[@id="pagelist"]/div/text()').re(r'[^\xa0]')).strip()

OK了!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容