1
linglin0924 2022-06-09 23:31:29 +08:00
有声小说的地址发一下,看看怎么样
|
2
jingfelix 2022-06-10 00:13:18 +08:00 via Android
|
3
huntagain2008 OP @linglin0924 我只是把有声小说当听歌而已,完全是动漫流行什么我就听什么小说,《凡人修仙传》我听的大灰狼的,感觉韩立这个角色还是这个主播的声音比较合适,当然我没听过其他的主播。
|
4
huntagain2008 OP @jingfelix #2 在 kubuntu 用了 BilibiliAudioDownloader 下载正在听的一集,mp3 大小 5.3MB,aac 音频大小 5.6MB,aac 音频时长 21:44,mp3 时长 21:50 。批量下载多 P 视频结果只剩下一个视频。至于作者你的作品我还没试过,看了下代码好像没有有关视频中的某一 P 的音频下载。
|
5
twofox 2022-06-10 10:36:33 +08:00
you-get ?
|
6
twofox 2022-06-10 10:36:51 +08:00
和 youtube-dl 什么关系
|
7
huntagain2008 OP @twofox #6 应该没关系。以前听播客倒是听到过嘉宾提 起 youtube-dl 下载速度更快
|
8
jingfelix 2022-06-10 12:54:57 +08:00
|
9
zhandouji 2022-06-12 07:27:41 +08:00 via iPhone
用 ubuntu 的 you-get 非常容易
|
10
huntagain2008 OP BilibiliAudioDownloader 分 P 下载音频 文件名是同一个,所以最后下载的音频都被覆盖了。我改了一下代码
BVList=['BV1t54y1r75y-1', 'BV1t54y1r75y-2', 'BV1t54y1r75y-3'] 这个 list 首先知道要下载视频的 BV 号也就是 BV1t54y1r75y ,后面加 分 P 号,也就是-1 。因为我要下载 100 个 P 的音频,所以我总不能一个个输入-1 ,-2 ,-3 。先用 Python 生成列表 >>> l = [] >>> BVList = [] >>> for i in range(1, 201): ... BVList.append('BV1t54y1r75y-' + str(i)) ... >>> BVList ['BV1t54y1r75y-1', 'BV1t54y1r75y-2', 'BV1t54y1r75y-3', ...] def getCidAndTitle(bvid,p=1): url='https://api.bilibili.com/x/web-interface/view?bvid='+bvid data=requests.get(url).json()['data'] title=data['title'] + str(p) cid=data['pages'][p-1]['cid'] return str(cid),title 原代码 title=data['title']被我改为 title=data['title'] + str(p),加了分 P 。这样下载 100 个分 P 的视频就没问题了。 |
11
huntagain2008 OP @huntagain2008 改下 for i in range(1,101):
|
12
huntagain2008 OP @huntagain2008 #10 KDE 的 Konsole 打印的列表可以直接拷贝,但是在 Windows 的 cmd 命令行拷贝出来的列表有换行问题,代码会报错。可以用 > BVList 输出到文件再用记事本打开。而在 Python3 中的实现是
#!/usr/bin/env python3 # 根据 B 站 BV 号下载第 1501 到 1631 集,对应分 P 101 到 230 ,输出到文件 BV1501-1631.txt 。 # 输出的文件内容如:['BV18a4y1s7Jx-101','BV18a4y1s7Jx-102', ...] # BVList = [] for i in range(101, 231): 缩进 BVList.append("BV18a4y1s7Jx-" + str(i)) MyFile = open('BV1501-1631.txt', 'w') print(BVList, file=MyFile) MyFile.close() |