1.为什么要用Cookies池?

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

2.Cookies池的要求

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

3.Cookies池架构

5.使用Redis+Flask维护动态Cookies池-LMLPHP

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

https://github.com/Germey/CookiesPool

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

5.使用Redis+Flask维护动态Cookies池-LMLPHP

5.修改配置文件

C:\software\phpStudy\PHPTutorial\WWW\python3\maoyantop100\CookiesPool-master\cookiespool\config.py

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

6.运行项目

5.使用Redis+Flask维护动态Cookies池-LMLPHP

05-11 13:43