zoukankan      html  css  js  c++  java
  • 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

    都是很简单实用的配置

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

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

      

  • 相关阅读:
    11 Jun 18 复习,HTTP
    11 Jun 18 Django
    8 Jun 18 复习,mysql
    8 Jun 18 Bootstrap
    7 Jun 18 复习,文件,函数,sorted,colletions
    7 Jun 18 Bootstrap
    pip 使用方法
    http协议 1.1
    mysql 的视图 触发器 事务 存储过程 内置函数 流程控制 索引
    day 29 守护进程/互斥锁/IPC通信机制/生产者消费者模型
  • 原文地址:https://www.cnblogs.com/shouzhong/p/10137715.html
Copyright © 2011-2022 走看看