# -*- coding: utf-8 -*- # Author : Charley # Python : 3.10.8 # Date : 2025/8/15 17:53 import time import schedule import threading from loguru import logger from jp_pokemon_card_spider import JPPokemonCardSpider from us_pokemon_card_spider import us_pokemon_main from fan_pokemon_card_spider import fz_pokemon_main logger.remove() logger.add("./logs/{time:YYYYMMDD}.log", encoding='utf-8', rotation="00:00", format="[{time:YYYY-MM-DD HH:mm:ss.SSS}] {level} {message}", level="DEBUG", retention="1 day") def run_threaded(job_func, *args, **kwargs): """ 在新线程中运行给定的函数,并传递参数。 :param job_func: 要运行的目标函数 :param args: 位置参数 :param kwargs: 关键字参数 """ job_thread = threading.Thread(target=job_func, args=args, kwargs=kwargs) job_thread.start() def schedule_task(): """ 两个爬虫模块的启动文件 bidding_main weika_change_card_by_id_spider change_card_main """ # 立即运行一次任务 jp_spider = JPPokemonCardSpider(log=logger) run_threaded(jp_spider.run) # run_threaded(us_pokemon_main(log=logger)) run_threaded(fz_pokemon_main(log=logger)) # 设置定时任务 schedule.every().day.at("02:01").do(run_threaded, JPPokemonCardSpider(log=logger).run) schedule.every().day.at("01:01").do(run_threaded, us_pokemon_main, log=logger) schedule.every().tuesday.at("02:01").do(run_threaded, fz_pokemon_main, log=logger) # # schedule.every().day.at("03:01").do(run_threaded, hoopi_mall_card_main, log=logger) # schedule.every().day.at("04:01").do(run_threaded, hoopi_mall_group_main, log=logger) while True: schedule.run_pending() time.sleep(1) if __name__ == '__main__': schedule_task()