最近两天在学scrapy,发现爬取编码为gb2312的网页时出现错误,解决后又出现中文乱码问题,弄了两天终于解决了
1.(测utf-8/gb2312可以成功调码解码)
1. import chardet
print(chardet.detect(title))
py3用库chardet可以查看网络编码方式
先用encode编码成bytes
再用decode编码成str
代码如图
for t in response.xpath('//title'):
title=t.extract().encode(response.encoding)#重点1
print(chardet.detect(title))
title= title.decode(response.encoding,errors='ignore')#重点2
print(title)
这样访问就解决了scrapy访问gb2312出现的问题已经中文乱码问题