scrapy 遇到乱码怎么办?一招解决

XX交通委提醒您注意爬虫安全,网站千万条,安全第一条,编码不规范,亲人两行泪

在使用scrapy数据抓取过程中,经常会遇到这种情况(58这类自己专门设置了字符集反爬措施)除外

# 解决思路

download minddlewares中有个process_response方法,修改它即可

 因为 response.body 是一个 str 因此,我们需要自己组装一个response,利用HtmlResponse可以完美解决

# 导入所需模块
from scrapy.http import HtmlResponse

 def process_response(self,request, response, spider):
        # 修改页面编码
        response = HtmlResponse(url=response.url, body=response.body, encoding='utf-8')
        return response

之后记得开启中间件~ 

posted @ 2019-03-05 15:48  数据民工  阅读(62)  评论(0)    收藏  举报