鱼C论坛

 找回密码
 立即注册
查看: 10926|回复: 85

[吹水] 急需《吞噬星空》有声小说!

[复制链接]
发表于 2023-2-7 19:55:26 | 显示全部楼层 |阅读模式
20鱼币
如题!记得,是有声小说!!!!并且一定要是MP3文件!!!!!

你们可以直接给我云盘链接,也可以是可用的爬虫程序!记住,可用!
如果我拿到了整本小说的mp3,除了悬赏金额外我还会支付20鱼币!

急急急!@zhangjinxuan @Twilight6 @青出于蓝 @KeyError @不二如是

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-2-7 20:08:54 | 显示全部楼层
或者你们谁有喜马拉雅的账号借我用一下也行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-7 20:01:50 | 显示全部楼层
没看过
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-2-7 20:02:52 | 显示全部楼层

大佬你可以去爬吗!喜马拉雅就有!可惜我不会爬
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-7 20:03:10 | 显示全部楼层
你是说这个?
https://www.kugou.com/ts/xiaoshuo/wko3400/
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-2-7 20:04:55 | 显示全部楼层
鱼cpython学习者 发表于 2023-2-7 20:03
你是说这个?
https://www.kugou.com/ts/xiaoshuo/wko3400/

这个 https://www.ximalaya.com/album/14342570
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-7 20:04:59 | 显示全部楼层
www.吞噬星空.com
行了给你了

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-2-7 20:07:04 | 显示全部楼层
鱼cpython学习者 发表于 2023-2-7 20:03
你是说这个?
https://www.kugou.com/ts/xiaoshuo/wko3400/

这个 https://www.kugou.com/ts/xiaoshuo/xg3z4fa/
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-7 20:07:46 | 显示全部楼层
没看过 * 2
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-2-7 20:08:20 | 显示全部楼层

爬取!!!https://www.kugou.com/ts/xiaoshuo/xg3z4fa/
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-7 20:09:20 | 显示全部楼层
学习编程中的Ben 发表于 2023-2-7 20:08
爬取!!!https://www.kugou.com/ts/xiaoshuo/xg3z4fa/

我不会爬虫
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-2-7 20:11:34 | 显示全部楼层

或者你有喜马拉雅的账号借我用一下也行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-7 20:12:33 | 显示全部楼层
学习编程中的Ben 发表于 2023-2-7 20:11
或者你有喜马拉雅的账号借我用一下也行

我还没有账号
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-7 22:10:05 | 显示全部楼层
看腾讯动漫,还没占据金角巨兽,,
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-15 20:07:24 | 显示全部楼层
修改了一下 Python爱好者. 的酷狗爬虫 , 可以爬取酷狗的吞噬星空几乎全部

( 不过只有200多集 )

文件太大上传太慢 , 给你代码 , 自己慢慢爬吧

  1. import urllib.request
  2. import urllib.parse
  3. import json
  4. import os
  5. x = []
  6. i = 1
  7. def down_load_music(music_address,down_load_address,information_list): #下载歌曲
  8.     #获取音乐名
  9.     music_name = get_right_music_name(information_list)
  10.    
  11.     #创建文件
  12.     with open(f"{down_load_address}\\{music_name}.mp3","w") as f:
  13.         pass
  14.    
  15.     #写入歌曲
  16.     with open(f"{down_load_address}\\{music_name}.mp3","wb") as f:
  17.         music = urllib.request.urlopen(music_address).read()
  18.         f.write(music)

  19. def get_right_music_name(information_list): #合法化歌曲名
  20.     #初始变量
  21.     music_name = information_list[0] #歌曲名
  22.     characters = ['/', '\\', ':', '*', '?', '"', '<', '>', '|'] #非法字符

  23.     for each in characters:
  24.         if each in music_name: #含此非法字符
  25.             music_name = music_name.replace(each,"") #去除非法字符

  26.     return music_name

  27. def get_music_address(information_list,music_num,second_headrs_words): #获取音乐地址
  28.     #获取此歌信息
  29.     information_list = information_list[music_num - 1]

  30.     #初始变量
  31.     url = f"http://www.kuwo.cn/api/v1/www/music/playUrl?mid={information_list[-2]}&type=convert_url3&httpsStatus=1&reqId={information_list[-1]}" #歌曲网页地址
  32.     second_headers = get_headers(second_headrs_words) #请求头2

  33.     #获取数据
  34.     req = urllib.request.Request(url,headers = second_headers)
  35.     response = json.loads(urllib.request.urlopen(req).read().decode("utf8"))

  36.     #返回结果
  37.     music_address = response["data"]["url"]
  38.     return music_address,information_list

  39. def print_music_information(music_information): #打印歌曲信息
  40.     global x
  41.     information_list = [] #储存重要信息

  42.     #初始变量
  43.     reqId = music_information["reqId"] #作品vip信息
  44.     i = 0 #迭代作品序列号

  45.     #打印歌曲信息
  46.     for each in music_information["data"]["list"]:
  47.         #获取信息
  48.         name = each["name"] #作品名字
  49.         artist = each["artist"] #作者姓名
  50.         album = each["album"] #作品专辑
  51.         songTimeMinutes = each["songTimeMinutes"]
  52.         rid = each["rid"] #作品id

  53.         if artist == '流逝&double程':
  54.             #储存信息
  55.             information_list.extend([[name,artist,album,songTimeMinutes,rid,reqId]])
  56.             x.append(f"{name}/,/歌手:{artist}/,/专辑:{album}/,/时长:{songTimeMinutes}/")
  57.             #打印信息
  58.             #print(f"序号{i + 1}:/歌曲:{name}/,/歌手:{artist}/,/专辑:{album}/,/时长:{songTimeMinutes}/")
  59.         
  60.             i += 1

  61.     return information_list

  62. def get_music_information(music_name,music_page,first_headrs_words): #获取歌曲
  63.     #初始变量
  64.     url = f"http://www.kuwo.cn/api/www/search/searchMusicBykeyWord?key={urllib.parse.quote(music_name)}&pn={music_page}&rn=300&httpsStatus=1&reqId=1947b511-1ac6-11ed-abe0-e348db15d8b3"
  65.     first_headers = get_headers(first_headrs_words) #请求头1

  66.     #获取数据
  67.     req = urllib.request.Request(url,headers = first_headers)
  68.     response = json.loads(urllib.request.urlopen(req).read().decode("utf8"))
  69.    
  70.     return response

  71. def get_headers(words): #生成请求头
  72.     headers = {each[0]:each[1] for each in [each.split(": ") for each in words.split("\n")]} #转换为字典
  73.    
  74.     return headers

  75. def first_try(music_name,music_page,first_headers_words):
  76.     try:
  77.         music_information = get_music_information(music_name,music_page,first_headers_words)
  78.         return music_information
  79.         
  80.     except urllib.error.HTTPError as reason:
  81.         if reason == "HTTP Error 504: Gateway Timeout": #暂时性网络连接失败
  82.             #提示
  83.             print("网络连接失败,正在重试中,请耐心等待!")

  84.             #重试
  85.             first_try()   

  86. def second_try(music_address,down_load_address,information_list,music_name,first_headers_words):
  87.     try:
  88.         down_load_music(music_address,down_load_address,information_list)

  89.     except PermissionError as reason:
  90.         while "[Errno 13] Permission denied:" in reason: #没有访问权限
  91.             down_load_address = input("抱歉,我们没有在此文件夹中创建文件的权力,请换个位置,如:'C:\\test':")
  92.             down_load_music(music_address,down_load_address,information_list)

  93. def third_try(music_name,start_page,first_headers_words):
  94.     #获取歌曲所在页数(有概率报错)(已解决)
  95.     music_page,information_list = get_music_page(get_music_pages(music_name,start_page,first_headers_words),music_name,first_headers_words)

  96.     while music_page == -1: #查无此歌
  97.         music_name = input("抱歉,未查询到此歌,请重新输入歌曲名称:")
  98.         music_page,information_list = get_music_page(get_music_pages(music_name,start_page,first_headers_words),music_name,first_headers_words)

  99.     return music_page,information_list

  100. def fourth_try(i):
  101.     try:
  102.         #让用户选择要下载的歌所对应的序列号
  103.         music_num = i

  104.         while not(0 < music_num < 301): #范围超出 1 到 30
  105.             music_num = int(input("序列号超出最大值,请重新输入歌曲序列号:"))

  106.         #返回结果
  107.         return music_num

  108.     except ValueError as reason:
  109.         if "invalid literal for int() with base 10:" in reason: #序列号非数字类型
  110.             fourth_try()

  111. def get_music_page(pages,music_name,first_headers_words): #获取歌曲所在页数
  112.     if pages == 0: #没有此歌
  113.         return -1,-1
  114.    
  115.     else:
  116.         #初始变量
  117.         page = 0 #歌曲所在页数

  118.         for i in range(1,pages + 1):
  119.             #获取歌曲信息(有概率报错)(已解决)
  120.             music_information = first_try(music_name,i,first_headers_words)

  121.             #打印歌曲信息
  122.             information_list = print_music_information(music_information)
  123.             page = i

  124.         #返回结果
  125.         return page,information_list

  126. def get_music_pages(music_name,start_page,first_headers_words): #获取页面总页数
  127.     #获取歌曲信息(有概率报错)(已解决)
  128.     music_information = first_try(music_name,start_page,first_headers_words)

  129.     #返回结果
  130.     pages = int(music_information["data"]["total"]) // 300 #总页数
  131.     return pages

  132. def main():
  133.     global i, running

  134.     #获取歌曲所在页数(有概率报错)(已解决)
  135.     music_page,information_list = third_try(music_name,start_page,first_headers_words)

  136.     music_num = fourth_try(i)
  137.     print(i)

  138.     #获取歌曲地址
  139.     music_address,information_list = get_music_address(information_list,music_num,second_headers_words)

  140.     #下载歌曲(有概率报错)
  141.     second_try(music_address,down_load_address,information_list,music_name,first_headers_words)

  142.     i += 1
  143.     if i == len(x):
  144.         running = False

  145. if __name__ == "__main__":
  146.     #初始变量
  147.     running = True #程序是否继续执行

  148.     #用户信息
  149.     music_name = '吞噬星空'
  150.    
  151.     #初始变量
  152.     first_headers_words = """Accept: application/json, text/plain, */*
  153. Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
  154. Connection: keep-alive
  155. Cookie: _ga=GA1.2.38866944.1643424882; BusinessId={"std_plat":404,"std_dev":"d2b0d6c5-27ce-4b06-bf62-1e19b3ad6f84","std_imei":"d2b0d6c5-27ce-4b06-bf62-1e19b3ad6f84"}; _gid=GA1.2.432698325.1660354553; Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1660254093,1660354553,1660356822,1660366722; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1660367192; kw_token=UX6Z894LRHB; _gat=1
  156. Host: www.kuwo.cn
  157. Referer: http://www.kuwo.cn/search/list?key=%E5%AD%A4%E5%8B%87%E8%80%85
  158. User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.47
  159. csrf: UX6Z894LRHB""" #请求头1

  160.     second_headers_words = """Accept: application/json, text/plain, */*
  161. Accept-Language: zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6
  162. Connection: keep-alive
  163. Cookie: _ga=GA1.2.38866944.1643424882; BusinessId={"std_plat":404,"std_dev":"d2b0d6c5-27ce-4b06-bf62-1e19b3ad6f84","std_imei":"d2b0d6c5-27ce-4b06-bf62-1e19b3ad6f84"}; _gid=GA1.2.432698325.1660354553; Hm_lvt_cdb524f42f0ce19b169a8071123a4797=1660254093,1660354553,1660356822,1660366722; kw_token=DQ089P4PGZG; Hm_lpvt_cdb524f42f0ce19b169a8071123a4797=1660374530; _gat=1
  164. Host: www.kuwo.cn
  165. Referer: http://www.kuwo.cn/play_detail/198554068
  166. User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.81 Safari/537.36 Edg/104.0.1293.47""" #请求头2

  167.     start_page = 1 #起始页

  168.     #让用户选择要将歌曲下载在哪里
  169.     down_load_address = 'E:\\WYH\\音乐\\wu'

  170.     #主循环
  171.     while running:
  172.         main()

  173. for i in x:
  174.     print(i)
  175.         


复制代码

评分

参与人数 2荣誉 +5 鱼币 +5 贡献 +4 收起 理由
liuhongrun2022 + 1 nb
python爱好者. + 5 + 5 + 3 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-17 04:57:02 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-17 17:16:00 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-17 17:17:59 | 显示全部楼层
格式:mp3版
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-2-18 07:20:39 | 显示全部楼层
元豪 发表于 2023-2-15 20:07
修改了一下 Python爱好者. 的酷狗爬虫 , 可以爬取酷狗的吞噬星空几乎全部

( 不过只有200多集{ ...

会报错!!!
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-2-18 10:36:22 | 显示全部楼层

什么错误 ?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-13 12:17

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表