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

在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

都是很简单实用的配置

 

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

 

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

 

 

 

  

posted @ 2018-12-18 15:58  言守中  阅读(1472)  评论(0编辑  收藏  举报