diff --git a/README.md b/README.md index 15ba445..a77738f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,54 @@ -# CookiesPool +# CookiesPool / Cookies池 -CookiesPool Based on Redis and Flask \ No newline at end of file +## 安装 + +``` +pip3 install -r requirements.txt +``` + +## 基础配置 + +修改cookiespool/config.py + +### 数据库配置 + +account:weibo:账号 + +cookies:weibo:账号 + +类型都是list,内容分别为密码和Cookies + +![](https://ww1.sinaimg.cn/large/006tNbRwly1ff506wv38aj30jj05sq32.jpg) + +![](https://ww4.sinaimg.cn/large/006tNbRwly1ff507mobqcj30ra06sweu.jpg) + +账号自行某宝购买 + +Redis连接信息到cookiespool/config文件修改 + +### 云打码平台配置 + +到yundama.com注册开发者和普通用户。 + +开发者申请应用ID和KEY,普通用户用于充值登录。 + +配置信息到cookiespool/config文件修改 + + +### 进程开关 + +配置信息到cookiespool/config文件修改 + +## 运行 + +``` +python3 run.py +``` + +## 批量导入 + +``` +python3 importer.py +``` + +![](https://ww2.sinaimg.cn/large/006tNbRwly1ff50gt9j0hj30r20jy763.jpg) diff --git a/cookiespool/api.py b/cookiespool/api.py index 736c31c..6138255 100644 --- a/cookiespool/api.py +++ b/cookiespool/api.py @@ -1,6 +1,6 @@ from flask import Flask, g + from cookiespool.config import * -from cookiespool.db import CookiesRedisClient, AccountRedisClient __all__ = ['app'] diff --git a/cookiespool/config.py b/cookiespool/config.py index 181e9c7..7356363 100644 --- a/cookiespool/config.py +++ b/cookiespool/config.py @@ -1,36 +1,36 @@ # Redis数据库地址 REDIS_HOST = 'localhost' +# Redis端口 REDIS_PORT = 6379 +# Redis密码,如无填None REDIS_PASSWORD = 'foobared' +# 配置信息,无需修改 REDIS_DOMAIN = '*' - REDIS_NAME = '*' # 云打码相关配置到yundama.com申请注册 YUNDAMA_USERNAME = 'Germey' - 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' -# 产生器类 +# 产生器类,如扩展其他站点,请在此配置 GENERATOR_MAP = { 'weibo': 'WeiboCookiesGenerator' } -# 测试类 +# 测试类,如扩展其他站点,请在此配置 TESTER_MAP = { 'weibo': 'WeiboValidTester' } @@ -40,13 +40,12 @@ CYCLE = 120 # API地址和端口 API_HOST = '127.0.0.1' - API_PORT = 5000 # 进程开关 -# 产生器 +# 产生器,模拟登录添加Cookies GENERATOR_PROCESS = True -# 验证器 +# 验证器,循环检测数据库中Cookies是否可用,不可用删除 VALID_PROCESS = False -# API +# API接口服务 API_PROCESS = True diff --git a/cookiespool/db.py b/cookiespool/db.py index 9121122..d73d154 100644 --- a/cookiespool/db.py +++ b/cookiespool/db.py @@ -1,5 +1,7 @@ import random + import redis + from cookiespool.config import * from cookiespool.error import * diff --git a/cookiespool/generator.py b/cookiespool/generator.py index b89cf92..8683ad2 100644 --- a/cookiespool/generator.py +++ b/cookiespool/generator.py @@ -1,17 +1,16 @@ import json + import requests -import time from selenium import webdriver -from selenium.webdriver import DesiredCapabilities from selenium.common.exceptions import WebDriverException, TimeoutException +from selenium.webdriver import DesiredCapabilities from selenium.webdriver.common.by import By -from selenium.webdriver.support.wait import WebDriverWait -from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC +from selenium.webdriver.support.ui import WebDriverWait + +from cookiespool.config import * from cookiespool.db import CookiesRedisClient, AccountRedisClient from cookiespool.verify import Yundama -from cookiespool.config import * -from requests.exceptions import ConnectionError class CookiesGenerator(object): diff --git a/cookiespool/scheduler.py b/cookiespool/scheduler.py index e2feca6..444f306 100644 --- a/cookiespool/scheduler.py +++ b/cookiespool/scheduler.py @@ -1,10 +1,8 @@ import time from multiprocessing import Process -from cookiespool.tester import * -from cookiespool.config import * + from cookiespool.api import app -import os -import signal +from cookiespool.config import * class Scheduler(object): diff --git a/cookiespool/verify.py b/cookiespool/verify.py index 9207904..5c3cc00 100644 --- a/cookiespool/verify.py +++ b/cookiespool/verify.py @@ -1,6 +1,8 @@ -import requests import time + +import requests from requests.exceptions import ConnectionError + from cookiespool.config import * diff --git a/importer.py b/importer.py new file mode 100644 index 0000000..5af90d5 --- /dev/null +++ b/importer.py @@ -0,0 +1,4 @@ +from cookiespool.importer import scan + +if __name__ == '__main__': + scan() \ No newline at end of file diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..b2c44c7 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,4 @@ +requests>=2.13.0 +selenium>=3.4.0 +redis>=2.10.5 +Flask>=0.12.1 \ No newline at end of file