mirror of
https://github.com/saveweb/biliarchiver.git
synced 2024-09-19 19:15:27 -07:00
fix e
This commit is contained in:
parent
464b4cd03f
commit
5769738ec0
@ -36,17 +36,17 @@ async def new_get_subtitle_info(client: httpx.AsyncClient, bvid, cid):
|
||||
api.get_subtitle_info = new_get_subtitle_info
|
||||
|
||||
|
||||
async def archive_bvid(bvid: str, sess_data: str):
|
||||
async def archive_bvid(d: DownloaderBilibili, bvid: str):
|
||||
if not os.path.exists('biliup.home'):
|
||||
raise Exception('先创建 biliup.home 文件')
|
||||
# 需要先实例化一个用来进行http请求的client
|
||||
d = DownloaderBilibili(video_concurrency=5, part_concurrency=10, hierarchy=True, sess_data=sess_data)
|
||||
# d = DownloaderBilibili(video_concurrency=5, part_concurrency=10, hierarchy=True, sess_data=sess_data)
|
||||
# first we should initialize a http client
|
||||
url = f'https://www.bilibili.com/video/{bvid}/'
|
||||
# data = await api.get_video_info(client, "https://www.bilibili.com/video/BV1jK4y1N7ST?p=5")
|
||||
|
||||
# d.update_cookies_from_browser('firefox')
|
||||
d.update_cookies_from_browser
|
||||
|
||||
videos_basepath = f'biliup/videos/{bvid}'
|
||||
videos_info = await api.get_video_info(d.client, url)
|
||||
os.makedirs(videos_basepath, exist_ok=True)
|
||||
@ -56,7 +56,6 @@ async def archive_bvid(bvid: str, sess_data: str):
|
||||
await f.write(json.dumps(videos_info.dict(), ensure_ascii=False, indent=4))
|
||||
|
||||
pid = 0
|
||||
d.progress.start()
|
||||
for page in videos_info.pages:
|
||||
pid += 1
|
||||
|
||||
@ -88,8 +87,7 @@ async def archive_bvid(bvid: str, sess_data: str):
|
||||
async with aiofiles.open(f'{video_basepath}/_downloaded.mark', 'w', encoding='utf-8') as f:
|
||||
await f.write('')
|
||||
|
||||
await d.aclose()
|
||||
d.progress.stop()
|
||||
|
||||
|
||||
|
||||
async def download_bilibili_video_detail(client, bvid, filename):
|
||||
|
@ -1,5 +1,8 @@
|
||||
import asyncio
|
||||
import datetime
|
||||
import os
|
||||
import sys
|
||||
from bilix.sites.bilibili.downloader import DownloaderBilibili
|
||||
from _biliup_archive_bvid import archive_bvid
|
||||
import argparse
|
||||
|
||||
@ -15,8 +18,19 @@ def main():
|
||||
args = parse_args()
|
||||
with open(args.bvids, 'r', encoding='utf-8') as f:
|
||||
bvids = f.read().splitlines()
|
||||
for bvid in bvids:
|
||||
asyncio.run(archive_bvid(bvid=bvid, sess_data=args.sess_data))
|
||||
d = DownloaderBilibili(video_concurrency=5, part_concurrency=1, hierarchy=True, sess_data=args.sess_data)
|
||||
d.progress.start()
|
||||
async def do():
|
||||
cors = []
|
||||
for bvid in bvids:
|
||||
if sys.version_info <= (3, 10):
|
||||
cor = asyncio.ensure_future(archive_bvid(d=d, bvid=bvid))
|
||||
else:
|
||||
cor = asyncio.create_task(archive_bvid(d=d, bvid=bvid))
|
||||
cors.append(cor)
|
||||
await asyncio.gather(*cors)
|
||||
asyncio.run(do())
|
||||
d.progress.stop()
|
||||
|
||||
|
||||
def get_sess_data():
|
||||
|
Loading…
Reference in New Issue
Block a user