python-scrapy爬取网页编码为gb2312

最近两天在学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出现的问题已经中文乱码问题

posted @ 2019-03-03 20:56  bigsmart  阅读(661)  评论(0编辑  收藏  举报