def __init__(self, urllist, views, minWatch, maxWatch): self.url = None self.urls = [] self.cache = {} # each url has its amount of visits {url:visits} self.views = views self.urllist = urllist self.lock = threading.Lock() self.minWatch = eval(minWatch) self.maxWatch = eval(maxWatch) self.ip = None # current ip address self.index = 0 # going through url list self.done = False # done with visits self.wait = False # wait for connection self.alive = True # is bruter still running self.counts = eval(self.views) # the max visits per link self.attemptlist = [] # temporary storage; holds a max of 5 passwords self.recentIps = [] # temporary storage; holds a max of 5 ip addresses Browser.__init__(self) TorManager.__init__(self) self.n = '\033[0m' # null ---> reset self.r = '\033[31m' # red self.g = '\033[32m' # green self.y = '\033[33m' # yellow self.b = '\033[34m' # blue
def app(): # get Web Driver b = Browser.get_driver() # creating App object app = App(b, "https://www.covid19india.org/") yield app # return App b.quit() # closing all browser del app
def scrapy_product(): try: Login().login() Purchase().index().export().send_message() except Exception: msg = traceback.format_exception(*sys.exc_info()) logging.error(''.join(msg)) raise Exception(''.join(msg)) finally: Browser().quit() print('do again!!!!')
def scrapy_product(): try: Login().login() Product.correct_sku_timer() Product().operate() except Exception: msg = traceback.format_exception(*sys.exc_info()) logging.error( ''.join(msg) ) raise Exception(''.join(msg)) finally: Browser().quit() print('do again!!!!')
def init(self, spider_type, task_name): self.__spider_type = spider_type self.__task_name = task_name self.__container = Container() self.set('app', self) self.set('browser', Browser()) self.set('facade', Facade()) Facade().init(self) self.set('component', ComponentManager()) self.set('for', ForManager()) self.set('global', GlobalManager()) self.set('hook', HookManager()) self.set('config', Config()) self.set('engine', Engine()) Engine().init(spider_type) return self
def app(config): # get Web Driver b = Browser.get_driver({ "browser": config['browser'], "environment": config['environment'], "headless": config["headless"] }) # Make its calls wait for elements to appear if config['environment'] == "remote": b.implicitly_wait(config['implicit_wait'] + 30) else: b.implicitly_wait(config['implicit_wait']) app = App(b, config['base_url']) yield app b.quit() del app
from core.browser import Browser login_page = 'https://kyfw.12306.cn/otn/resources/login.html' error_page = 'https://www.12306.cn/mormhweb/logFiles/error.html' ticket_url = 'https://kyfw.12306.cn/otn/leftTicket/init' index_page = 'https://kyfw.12306.cn/otn/view/index.html' pay_order_url = 'https://kyfw.12306.cn/otn//payOrder/init' browser = Browser()
def send_dingding(self): Dingding().send_max_dingding( Browser.browser_download_files(Product.target_file_rule), self.robot_url, self.robot_content_prefix )
def correct_sku_timer(self): correct_file_num = len(Browser.browser_download_files(Product.file_rule)) if correct_file_num > FILE_MIN_NUM: Product.set_page_timer(correct_file_num)