#!/usr/bin/env python # -*- encoding: utf-8 -*- ''' @Contact : liuyuqi.gov@msn.cn @Time : 2023/03/22 19:19:05 @License : Copyright © 2017-2022 liuyuqi. All Rights Reserved. @Desc : ''' from outlook_muti_register.register import Register from . import generate_email import os,sys,re,time,logging,random,requests,threading,queue,datetime from selenium import webdriver class OutlookRegister(Register): '''outlook register''' def __init__(self): '''init''' super(OutlookRegister, self).__init__() self.headers={ 'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', 'accept-encoding': 'deflate', 'accept-language': 'en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7', 'cache-control': 'max-age=0', 'dnt': '1', 'sec-fetch-dest': 'document', 'sec-fetch-mode': 'navigate', 'sec-fetch-site': 'none', 'sec-fetch-user': '?1', 'upgrade-insecure-requests': '1', 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36', } self.code_url = 'http://apigateway.jianjiaoshuju.com/api/v_1/yzmCustomized.html' self.code_headers = { 'appCode': 'X', 'appKey': 'X', 'appSecret': 'X' } def run(self): self.logger.info('outlook register start...') # get proxy ip list consecutive_fail_number = 0 try: for tp, ip_port in self.get_ip_list(): if datetime.now().minute == 10 or consecutive_fail_number > 10: break print('Proxy: {}://{}'.format(tp, ip_port)) driver = create_driver(tp, ip_port) register_success = start_register(driver) driver.close() if register_success: consecutive_fail_number = 0 if not register_success: consecutive_fail_number += 1 except Exception as e: print(e) schedule.every().minute.at(':10').do(run_driver) # generate account and pwd (read from file) generate_email.generate_email() # start register with proxy ip and chrome driver # try: for ip, port in self.get_ip_list(): pass except Exception as e: pass finally: pass def get_ip_list(self): '''get proxy ip list''' pass def register_email(self): '''register email''' pass if __name__=='__main__': outlook_register = OutlookRegister() outlook_register.run()