关于scrapy的验证码处理
之前用scrapy爬取网页时经常出现需要验证码,但是返回的是个response对象,不知道要如何进行破解。
以往都是selenium进行截图验证码,模拟拖动,但是scrapy在yield请求后就直接走了,不知道如何下手。
百度了一圈,后面发现原来大家都是靠中间件来完成突破验证码的
首先经过爬虫的话,要处理请求的话应该调用
DownloaderMiddleware里的process_request
要处理响应的话应该调用
DownloaderMiddleware里的process_response
其余的像UA,代理切换的中间件应该优先级在DownloaderMiddleware之前。
像对验证码的处理的话应该在process_response判断是不是出现验证码,是的话换ip切UA来绕过它