Browse Source

update

pull/4/merge
Germey 7 years ago
parent
commit
2d72191b4e
  1. 7
      README.md
  2. 6
      cookiespool/config.py
  3. 41
      cookiespool/db.py
  4. 3
      cookiespool/tester.py

7
README.md

@ -114,21 +114,14 @@ Cookies检测进程开始运行
正在生成Cookies 账号 14747223314 密码 asdf1129
正在测试Cookies 用户名 14747219309
Cookies有效 14747219309
部分测试结果 {"cardlistInfo":{"containerid":"1076031804544030",
正在测试Cookies 用户名 14740626332
Cookies有效 14740626332
部分测试结果 {"cardlistInfo":{"containerid":"1076031804544030",
正在测试Cookies 用户名 14740691419
Cookies有效 14740691419
部分测试结果 {"cardlistInfo":{"containerid":"1076031804544030",
正在测试Cookies 用户名 14740618009
Cookies有效 14740618009
部分测试结果 {"cardlistInfo":{"containerid":"1076031804544030",
Cookies有效 14740636046
部分测试结果 {"cardlistInfo":{"containerid":"1076031804544030",
正在测试Cookies 用户名 14747222472
Cookies有效 14747222472
部分测试结果 {"cardlistInfo":{"containerid":"1076031804544030",
Cookies检测完成
验证码位置 420 580 384 544
成功匹配

6
cookiespool/config.py

@ -21,7 +21,7 @@ TESTER_MAP = {
}
TEST_URL_MAP = {
'weibo': 'https://m.weibo.cn/api/container/getIndex?uid=1804544030&type=uid&page=1&containerid=1076031804544030'
'weibo': 'https://m.weibo.cn/'
}
# 产生器和验证器循环周期
@ -32,8 +32,8 @@ API_HOST = '0.0.0.0'
API_PORT = 5000
# 产生器开关,模拟登录添加Cookies
GENERATOR_PROCESS = True
GENERATOR_PROCESS = False
# 验证器开关,循环检测数据库中Cookies是否可用,不可用删除
VALID_PROCESS = True
VALID_PROCESS = False
# API接口服务
API_PROCESS = True

41
cookiespool/db.py

@ -11,70 +11,69 @@ class RedisClient(object):
:param port: 端口
:param password: 密码
"""
self.db = redis.Redis(host=host, port=port, password=password, decode_responses=True)
self.db = redis.StrictRedis(host=host, port=port, password=password, decode_responses=True)
self.type = type
self.website = website
def key(self):
def name(self):
"""
得到格式化的username
:param username: 最后一个参数username
:return:
获取Hash的名称
:return: Hash名称
"""
return "{type}:{website}".format(type=self.type, website=self.website)
def set(self, username, value):
"""
设置键值对
:param username:
:param value:
:param username: 用户名
:param value: 密码或Cookies
:return:
"""
return self.db.hset(self.key(), username, value)
return self.db.hset(self.name(), username, value)
def get(self, username):
"""
根据键名获取键值
:param username:
:param username: 用户名
:return:
"""
return self.db.hget(self.key(), username)
return self.db.hget(self.name(), username)
def delete(self, username):
"""
根据键名删除键值对
:param username:
:return:
:param username: 用户名
:return: 删除结果
"""
return self.db.hdel(self.key(), username)
return self.db.hdel(self.name(), username)
def count(self):
"""
获取数目
:return: 数目
"""
return self.db.hlen(self.key())
return self.db.hlen(self.name())
def random(self):
"""
随机得到键值
:return:
随机得到键值用于随机Cookies获取
:return: 随机Cookies
"""
return random.choice(self.db.hvals(self.key()))
return random.choice(self.db.hvals(self.name()))
def usernames(self):
"""
获取所有账户信息
:return:
:return: 所有用户名
"""
return self.db.hkeys(self.key())
return self.db.hkeys(self.name())
def all(self):
"""
获取所有键值对
:return:
:return: 用户名和密码或Cookies的映射表
"""
return self.db.hgetall(self.key())
return self.db.hgetall(self.name())
if __name__ == '__main__':

3
cookiespool/tester.py

@ -8,7 +8,7 @@ class ValidTester(object):
def __init__(self, website='default'):
self.website = website
self.cookies_db = RedisClient('cookies', self.website)
self.account_db = RedisClient('accounts', self.website)
self.accounts_db = RedisClient('accounts', self.website)
def test(self, username, cookies):
raise NotImplementedError
@ -37,7 +37,6 @@ class WeiboValidTester(ValidTester):
response = requests.get(test_url, cookies=cookies, timeout=5, allow_redirects=False)
if response.status_code == 200:
print('Cookies有效', username)
print('部分测试结果', response.text[0:50])
else:
print(response.status_code, response.headers)
print('Cookies失效', username)

Loading…
Cancel
Save