示例#1
0
    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
示例#3
0
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!!!!')
示例#4
0
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!!!!')
示例#5
0
    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
示例#7
0
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()
示例#8
0
 def send_dingding(self):
     Dingding().send_max_dingding(
         Browser.browser_download_files(Product.target_file_rule),
         self.robot_url,
         self.robot_content_prefix
     )
示例#9
0
 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)