def run(): # ***************************************************** # logger 설정 FORMAT = "[%(asctime)s]:%(levelname)s: %(filename)s | %(funcName)s - %(message)s" logging.basicConfig(format=FORMAT) logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) # ***************************************************** # environment variables 설정 config = ConfigLoader() config.init() config.load() # ***************************************************** # DB 설정 db_url = "mysql+pymysql://%s:%s@%s:%s/%s?charset=%s" % ( config.DB_USER, config.DB_PASSWORD, config.DB_HOST, config.DB_PORT, config.DB_DATABASE, config.DB_CHARSET ) dao = DBManager.initialize(db_url) DBManager.initialize_db() # DB 컨트롤러 인스턴스 생성 db_controller = DBController(dao) # ***************************************************** # 크롤러 인스턴스 생성 DRIVER_PATH = get_driver_path() af = afreeca_crawler.AfreecaNoteCrawler( DRIVER_PATH, db_controller, config, logger) # 크롤러 시작 af.start() # 크롤러 종료시, 커넥션 종료 DBManager.dispose()