mirror of
https://github.com/saveweb/biliarchiver.git
synced 2024-09-19 19:15:27 -07:00
upload
This commit is contained in:
parent
a6ea6906b7
commit
4cd8cc0412
@ -58,6 +58,9 @@ async def archive_bvid(d: DownloaderBilibili, bvid: str):
|
||||
pid = 0
|
||||
for page in videos_info.pages:
|
||||
pid += 1
|
||||
if not page.p_name.startswith(f'P{pid}-'):
|
||||
print(f'{bvid} 的第 {pid}P 不存在')
|
||||
continue
|
||||
|
||||
file_basename = f'{bvid}_p{pid}'
|
||||
video_basepath = f'{videos_basepath}/{identifier_perfix}-{file_basename}'
|
||||
@ -103,6 +106,7 @@ async def download_bilibili_video_detail(client, bvid, filename):
|
||||
# f.write(json.dumps(r.json(), indent=4, ensure_ascii=False))
|
||||
await f.write(r.text)
|
||||
|
||||
|
||||
# asyncio.run(archive_bvid(bvid=bvid))
|
||||
|
||||
# d = DownloaderBilibili(video_concurrency=2, part_concurrency=1, hierarchy=True, sess_data=None)
|
||||
# d.progress.start()
|
||||
# asyncio.run(archive_bvid(d=d, bvid='BV1Zh4y1x7RL'))
|
||||
# d.progress.stop()
|
@ -60,20 +60,32 @@ def upload_bvid(bvid):
|
||||
tags = ['BiliBili', 'video']
|
||||
for tag in bv_info['data']['Tags']:
|
||||
tags.append(tag['tag_name'])
|
||||
|
||||
pubdate = bv_info['data']['View']['pubdate']
|
||||
for page in bv_info['data']['View']['pages']:
|
||||
if page['page'] == int(pid):
|
||||
cid = page['cid']
|
||||
part = page['part']
|
||||
break
|
||||
|
||||
md = {
|
||||
"mediatype": "web",
|
||||
"collection": 'movies',
|
||||
"title": bv_info['data']['View']['title'] + ' ' +videos_info['pages'][int(pid) - 1]['p_name'],
|
||||
"collection": 'opensource_movies',
|
||||
"title": bv_info['data']['View']['title'] + f' P{pid} ' + part ,
|
||||
"description": bv_info['data']['View']['desc'],
|
||||
# "last-updated-date": time.strftime("%Y-%m-%d"),
|
||||
'creator': bv_info['data']['View']['owner']['name'],
|
||||
# 'year':
|
||||
'creator': bv_info['data']['View']['owner']['name'], # UP 主
|
||||
# UTC time
|
||||
'date': time.strftime("%Y-%m-%d", time.gmtime(pubdate)),
|
||||
'year': time.strftime("%Y", time.gmtime(pubdate)),
|
||||
'bvid': bvid,
|
||||
'aid': bv_info['data']['View']['aid'],
|
||||
'cid': cid,
|
||||
"subject": "; ".join(
|
||||
tags
|
||||
), # Keywords should be separated by ; but it doesn't matter much; the alternative is to set one per field with subject[0], subject[1], ...
|
||||
"upload-state": "uploading",
|
||||
'originalurl': f'https://www.bilibili.com/video/{bvid}?p={pid}',
|
||||
# 每日top100
|
||||
'scanner': 'bilibili top100 daily archive',
|
||||
}
|
||||
print(filedict)
|
||||
print(md)
|
||||
|
@ -7,7 +7,6 @@ from _biliup_archive_bvid import archive_bvid
|
||||
import argparse
|
||||
import uvloop
|
||||
|
||||
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
|
||||
|
||||
def parse_args():
|
||||
parser = argparse.ArgumentParser()
|
||||
@ -22,22 +21,24 @@ def main():
|
||||
with open(args.bvids, 'r', encoding='utf-8') as f:
|
||||
bvids = f.read().splitlines()
|
||||
async def do():
|
||||
d = DownloaderBilibili(video_concurrency=6, part_concurrency=1, hierarchy=True, sess_data=args.sess_data)
|
||||
d = DownloaderBilibili(video_concurrency=2, part_concurrency=1, hierarchy=True, sess_data=args.sess_data)
|
||||
d.progress.start()
|
||||
futs = []
|
||||
for bvid in bvids:
|
||||
cor = asyncio.create_task(archive_bvid(d=d, bvid=bvid))
|
||||
fut = asyncio.gather(cor)
|
||||
futs.append(fut)
|
||||
if len(futs) == 6:
|
||||
if len(futs) == 2:
|
||||
await asyncio.gather(*futs)
|
||||
futs = []
|
||||
if len(futs) > 0:
|
||||
await asyncio.gather(*futs)
|
||||
futs = []
|
||||
d.progress.stop()
|
||||
asyncio.run(do())
|
||||
loop = asyncio.get_event_loop()
|
||||
await d.aclose()
|
||||
# asyncio.run(do())
|
||||
asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
|
||||
loop = asyncio.get_event_loop_policy().get_event_loop()
|
||||
loop.run_until_complete(do())
|
||||
|
||||
def get_sess_data():
|
||||
|
@ -0,0 +1,6 @@
|
||||
from _biliup_upload_bvid import upload_bvid
|
||||
import os
|
||||
|
||||
def main():
|
||||
for bvid in os.listdir('biliup/videos'):
|
||||
upload_bvid(bvid)
|
Loading…
Reference in New Issue
Block a user