| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/usr/bin/env python
- # -*- encoding: utf-8 -*-
- """
- ---------------------------------------
- # @Project : DAGASI
- # @File : main.py
- # @Author : GrayZhao
- # @Date : 2023/2/22 0:37
- # @Version :
- # @Description :
- ---------------------------------------
- """
- from gevent import monkey;monkey.patch_all()
- from threading import Thread
- from queue import Queue
- from fanbox import FanboxID
- from kemono import Kemono
- if __name__ == '__main__':
- id_queue = Queue()
- # 选择菜单
- print("1. 下载全部作品\n2. 下载指定作品")
- while True:
- opt = input("请输入序号 [1]:")
- if opt == "1" or not opt:
- for _id in FanboxID.iterator():
- id_queue.put(_id)
- break
- elif opt == "2":
- while True:
- _ids = input("请输入投稿ID [多个ID请使用‘,’分隔]:").split(",")
- if _ids:
- for _id in _ids:
- id_queue.put(_id)
- break
- print("<Error> ID不能为空!")
- break
- print("<Error> 请输入正确序号!")
- # 下载
- print(f"共有{id_queue.qsize()}篇投稿需要下载,请耐心等待...")
- Kemono.login(username="zhy201810576", passwd="zhy120001")
- produce = Thread(target=Kemono.produce, args=(id_queue,))
- consume = Thread(target=Kemono.consume)
- consume.setDaemon(True)
- produce.start()
- consume.start()
- produce.join()
- # 输出未完成任务
- if Kemono.is_error_ids():
- for item in Kemono.is_error_ids():
- print(item)
|