| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- # -*- 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()
|