scrapy的User-Agent中间件、代理IP中间件、cookies设置、多个爬虫自定义settings设置

时间:2022-12-09 20:14:41

在scrapy的反爬中,常用的几个配置,简单总结了下:

 

User-Agent中间件:

from fake_useragent import UserAgent class RandomUserAgentMiddleware(object): def __init__(self, crawler): self.ua = UserAgent() def process_request(self, request, spider): request.headers.setdefault('User-Agent', self.ua.random) 

 

代理IP中间件:

class RandomProxyMiddleware(object):
'''
这只是一个简单的演示
'''
def process_request(self, request, spider): ip = '' # 要用到的代理IP port = '' # 要使用的代理port request.meta['proxy'] = 'http://{}:{}'.format(ip, port)

 

cookies设置、多个爬虫共用一个settings时,各自spider中的设置:

class BaiduSpider(scrapy.Spider): name = 'baidu' allowed_domains = ['baidu.com'] start_urls = ['https://www.baidu.com'] # custom_settings可以设置调整settings中的配置参数,以此来适配自己的spider。
    custom_settings = { 'COOKIES_ENABLED':True, # 在配置文件settings中可以设置成False, 在这个spider中这样设置就可以开启cookies了,其他的配置一样适用 } def parse(self, response): pass

都是很简单实用的配置

 

验证码:打码平台比较简单、省事、效率

 

注:每天进步一点点,或记录或不记录,都是自己的。记录是怕遗忘,也是为了更好的想起!