zoukankan      html  css  js  c++  java
  • 5.使用Redis+Flask维护动态Cookies池

    1.为什么要用Cookies池?

    • 网站需要登录才可爬取,例如新浪微博
    • 爬取过程中如果频率过高会导致封号
    • 需要维护多个账号的Cookies池实现大规模爬取

    2.Cookies池的要求

    • 自动登录更新
    • 定时验证筛选
    • 提供外部接

    3.Cookies池架构

    4.github上下载cookie池维护的代码

    https://github.com/Germey/CookiesPool

    (1)安装
    pip3 install -r requirements.txt
    
    (2)基础配置
    修改cookiespool/config.py
    
    (3)数据库配置
    account:weibo:账号
    cookies:weibo:账号
    
    Value分别为密码和Cookies
    
    账号自行某宝购买
    
    Redis连接信息到cookiespool/config文件修改
    
    (4)云打码平台配置
    到yundama.com注册开发者和普通用户。
    开发者申请应用ID和KEY,普通用户用于充值登录。
    配置信息到cookiespool/config文件修改
    
    (5)进程开关
    配置信息到cookiespool/config文件修改
    
    (6)运行
    python3 run.py
    
    (7)批量导入
    python3 importer.py
    
    请输入账号密码组, 输入exit退出读入
    18459748505----astvar3647
    14760253606----gmidy8470
    14760253607----uoyuic8427
    18459749258----rktfye8937
    账号 18459748505 密码 astvar3647
    录入成功
    账号 14760253606 密码 gmidy8470
    录入成功
    账号 14760253607 密码 uoyuic8427
    录入成功
    账号 18459749258 密码 rktfye8937
    录入成功
    exit
    View Code

    5.修改配置文件

    C:softwarephpStudyPHPTutorialWWWpython3maoyantop100CookiesPool-mastercookiespoolconfig.py

    # Redis数据库地址
    REDIS_HOST = '192.168.33.12'
    
    # Redis端口
    REDIS_PORT = 6379
    
    # Redis密码,如无填None
    REDIS_PASSWORD = ''
    
    # 配置信息,无需修改
    REDIS_DOMAIN = '*'
    REDIS_NAME = '*'
    
    # 云打码相关配置到yundama.com申请注册
    YUNDAMA_USERNAME = '*****'
    YUNDAMA_PASSWORD = '*****'
    YUNDAMA_APP_ID = '3372'
    YUNDAMA_APP_KEY = '1b586a30bfda5c7fa71c881075ba49d0'
    
    YUNDAMA_API_URL = 'http://api.yundama.com/api.php'
    
    # 云打码最大尝试次数
    YUNDAMA_MAX_RETRY = 20
    
    # 产生器默认使用的浏览器
    DEFAULT_BROWSER = 'PhantomJS' # 'Chrome'
    
    # 产生器类,如扩展其他站点,请在此配置
    GENERATOR_MAP = {
        'weibo': 'WeiboCookiesGenerator'
    }
    
    # 测试类,如扩展其他站点,请在此配置
    TESTER_MAP = {
        'weibo': 'WeiboValidTester'
    }
    
    # 产生器和验证器循环周期
    CYCLE = 120
    
    # API地址和端口
    API_HOST = '127.0.0.1'
    API_PORT = 5000
    
    # 进程开关
    # 产生器,模拟登录添加Cookies
    GENERATOR_PROCESS = True
    # 验证器,循环检测数据库中Cookies是否可用,不可用删除
    VALID_PROCESS = False
    # API接口服务
    API_PROCESS = True

    6.运行项目



  • 相关阅读:
    monkey命令
    app性能测试点
    app常见性能测试点
    httprunner中validate的比较方法总结
    ETL工具kettle基本使用
    dbvis MySQL server version for the right syntax to use near 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1
    python操作Redis
    mongodb,redis,hbase 三者都是nosql数据库,他们的最大区别和不同定位是什么?
    Redis Desktop manger的下载安装
    Redis的参考文档
  • 原文地址:https://www.cnblogs.com/zouke1220/p/9395304.html
Copyright © 2011-2022 走看看