Closed xincheng213618 closed 3 years ago
命令行里 -danmaku 默认修改为ass
增加 cookie 保存,输入一次之后自动保存
cookieFile = "cookie.txt" if(args.sess_data == None): if (os.path.exists(cookieFile)): file = open(cookieFile, mode='r') args.sess_data =file.read() file.close() else: file = open(cookieFile, mode='w') file.write(args.sess_data) file.close()
修改了 tools.py 中的 一些正则,让网址的匹配更容易进行
regex_acg_video_av = re.compile(r".*?av(?P\d+)") regex_acg_video_av_short = re.compile(r"https?://b23.tv/av(?P\d+)")
regex_acg_video_bv = re.compile(r".*?(?P(bv|BV)\w+)") regex_acg_video_bv_short = re.compile(r"https?://b23.tv/(?P(bv|BV)\w+)")
regex_bangumi_md = re.compile(r".*?/bangumi/media/md(?P\d+)")
regex_bangumi_ep = re.compile(r".*?/bangumi/play/ep(?P\d+)") regex_bangumi_ep_short = re.compile(r"https?://b23.tv/ep(?P\d+)")
regex_bangumi_ss = re.compile(r".*?/bangumi/play/ss(?P\d+)") regex_bangumi_ss_short = re.compile(r"https?://b23.tv/ss(?P\d+)")
regex_sapce = re.compile(r".*?space.bilibili.com/(?P\d+)")
增加的space 解析api ,同时为了配合该api 对程序进行了一定的修改 为了下载up视频,参考 番剧,增加了space api 和相关解析
@export_api(route="/space/title") def get_space_title(spaceid: str = "") -> str: if not (spaceid): raise Exception(spaceid +"不存在") home_url = ( "https://space.bilibili.com/{spaceid}/".format(spaceid=spaceid) ) res = spider.get(home_url) regex_title = re.compile(r"
@export_api(route="/space/title") def get_space_video(mid: str = "" ,pn=1) -> str: if not (mid): raise Exception(mid +"不存在") list_api = "https://api.bilibili.com/x/space/arc/search?mid={mid}&pn={pn}&ps=100&jsonp=jsonp" album_list = [] while True: res = spider.get(list_api.format(mid=mid, pn=pn))
album_list.extend( [ { "id": i + 1, "name": re.sub(r"[\/\\\:\*\?\"\<\>\|]", "", item["title"]), "avid": str(item["aid"]), "bvid": item["bvid"], } for i,item in enumerate(res.json()["data"]["list"]["vlist"]) ] ) if len(album_list) < int(res.json()['data']["page"]['count']): pn += 1 else: break return album_list
详情代码修改,请点击这里进行下载
不能取消对flv 的支持,有些早期视频,dash解析报错
方便提交 pr 吗?下载代码的方式我不太方便 review
对的 flv 暂时还不能删掉,虽然以前某些不支持 dash 的逐渐支持了,但我永远也不知道是否全部支持 dash,等 flv api 被 B 站删除再说吧
好的,我试试pr 提交
已提交
特性描述
命令行里 -danmaku 默认修改为ass
增加 cookie 保存,输入一次之后自动保存
cookieFile = "cookie.txt" if(args.sess_data == None): if (os.path.exists(cookieFile)): file = open(cookieFile, mode='r') args.sess_data =file.read() file.close() else: file = open(cookieFile, mode='w') file.write(args.sess_data) file.close()
修改了 tools.py 中的 一些正则,让网址的匹配更容易进行
avid
regex_acg_video_av = re.compile(r".*?av(?P\d+)")
regex_acg_video_av_short = re.compile(r"https?://b23.tv/av(?P\d+)")
bvid
regex_acg_video_bv = re.compile(r".*?(?P(bv|BV)\w+)")
regex_acg_video_bv_short = re.compile(r"https?://b23.tv/(?P(bv|BV)\w+)")
media id
regex_bangumi_md = re.compile(r".*?/bangumi/media/md(?P\d+)")
episode id
regex_bangumi_ep = re.compile(r".*?/bangumi/play/ep(?P\d+)")
regex_bangumi_ep_short = re.compile(r"https?://b23.tv/ep(?P\d+)")
season id
regex_bangumi_ss = re.compile(r".*?/bangumi/play/ss(?P\d+)")
regex_bangumi_ss_short = re.compile(r"https?://b23.tv/ss(?P\d+)")
space ID
regex_sapce = re.compile(r".*?space.bilibili.com/(?P\d+)")
增加的space 解析api ,同时为了配合该api 对程序进行了一定的修改 为了下载up视频,参考 番剧,增加了space api 和相关解析
@export_api(route="/space/title") def get_space_title(spaceid: str = "") -> str: if not (spaceid): raise Exception(spaceid +"不存在") home_url = ( "https://space.bilibili.com/{spaceid}/".format(spaceid=spaceid) ) res = spider.get(home_url) regex_title = re.compile(r"
@export_api(route="/space/title") def get_space_video(mid: str = "" ,pn=1) -> str: if not (mid): raise Exception(mid +"不存在") list_api = "https://api.bilibili.com/x/space/arc/search?mid={mid}&pn={pn}&ps=100&jsonp=jsonp" album_list = [] while True: res = spider.get(list_api.format(mid=mid, pn=pn))
循环获取列表
详情代码修改,请点击这里进行下载