• 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.运行项目



  • 相关阅读:
    自己上手写性能测试工具(一)
    你的领导真的很傻X吗?
    微软自动化测试工具palywright
    虫师『性能测试』文章大汇总
    虫师『软件测试』基础 与 测试杂谈
    「UI 测试自动化selenium」汇总
    web测试02
    web测试01
    测试20
    测试19
  • 原文地址:https://www.cnblogs.com/zouke1220/p/9395304.html
Copyright © 2020-2023  润新知