Esempio n. 1
0
class CookiesGenerator(object):
    def __init__(self, website='default'):
        self.website = website
        self.mysql_client = MysqlClient(website)

    def new_cookies(self, username, password):
        """
		新生成Cookies,子类需要重写
		:param username: 用户名
		:param password: 密码
		:return:
		"""
        raise NotImplementedError

    def process_cookies(self, cookies):
        '''
		处理cookies
		:param cookies:
		:return:
		'''
        dict = {}
        for k, v in cookies.items():
            dict[k] = v

        print(dict)
        return dict

    def run(self):
        """
		运行, 得到所有账户, 然后顺次模拟登录
		:return:
		"""
        account_list = self.mysql_client.get_all()
        # print(account_list)

        for account in account_list:
            if account['valid'] == 0:
                print('正在生成Cookies...', '账号', account['username'], '密码',
                      account['password'])
                result = self.new_cookies(account['username'],
                                          account['password'])
                # 成功获取
                if result.get('status') == 1:
                    cookies = self.process_cookies(result.get('content'))
                    print('成功获取到Cookies', cookies)
                    self.mysql_client.update_cookies_by_username(
                        account['username'], json.dumps(cookies))
                #密码错误,移除账号
                elif result.get('status') == 2:
                    print(result.get('content'))
                    if self.mysql_client.delete_account(account['username']):
                        print('成功删除账号')
                else:
                    print(result.get('content'))

        print('所有账号都已经成功获取Cookies')
Esempio n. 2
0
class ValidTester(object):
    def __init__(self, website='default'):
        self.website = website
        self.mysql_client = MysqlClient(website)

    def test(self, username, cookies):
        raise NotImplementedError

    def run(self):
        account_list = self.mysql_client.get_all()
        for account in account_list:
            self.test(account['username'], account['cookies'])