想要音频数据却不好批量下载怎么弄?python教你一招解决
前言
嗨喽!大家好呀,这里是魔王~ 环境介绍python 3.8 pycharm 模块使用requests >>> 数据请求模块 第三方模块 pip install requests re >>> 正则表达式 解析数据 内置模块 不需要安装
win + R 输入cmd 输入安装命令 pip install 模块名 如果出现爆红 可能是因为 网络连接超时 切换国内镜像源 如果你想要去实现一个爬虫案例, 你会怎么去做?
分析: 分析我们想要的数据是从哪来可以获得... 音频url 通过开发者工具进行抓包分析找到音频url地址 找到音频数据包
这个数据包里面就包含了我们想要音频url地址 对比数据包请求参数变化规律 每一个音频都是有其对应的音频ID 通过开发者工具 搜索ID 查询ID来源... 网页源代码里面就有我们想要音频ID
写代码目的 最终为了获取音频url >>> 音频数据包 >>> 得到音频ID 代码实现步骤: 爬虫是模拟浏览器对于url地址发送请求, 从而获取数据一. 第一次请求, 为了获取音频ID以及音频标题发送请求, 对于音频目录页面发送请求 获取数据, 获取服务器返回响应数据 解析数据, 提取我们想要音频ID以及音频标题 二. 第二次请求, 为了获取音频url地址发送请求, 对于音频数据包发送请求 获取数据, 获取服务器返回响应数据 解析数据, 提取音频url地址 三. 第三次请求, 为了获取音频二进制数据, 从而进行保存保存数据 代码# import requests # 数据请求模块 第三方模块 pip install requests # """ # 发送请求 # 对于哪一个url地址发送请求, 发送什么样请求 # # 爬虫发送请求你可以看做打电话的一个过程 # import requests 工具 手机 # url 电话号码 # headers 信号 # get 打电话的方式 座机是需要加区号 长沙0731 # 打电话通了 200 嘟嘟嘟的声音 404 您所拨打电话是空号 # """ # for page in range(2, 17): # url = f"https://www.ximalaya.com/revision/album/v1/getTracksList?albumId=8625924&pageNum={page}&sort=0" # 唯一资源定位符 # # 模拟浏览器 headers请求头 字典数据类型, 构建成键值对形式 # headers = { # "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36" # } # response = requests.get(url=url, headers=headers) # # print(response.text) # 响应对象 200 状态码表示请求成功 404 网址不对 # # re.findall() 调用re模块里面findall方法 从那些数据里面, 获取什么样的数据内容 d+ 匹配一个数字或者多个数字 # audio_info = response.json()["data"]["tracks"] # # print(audio_info) # for index in audio_info: # # 字符串格式化方法 {} 占位符 # link = f"https://www.ximalaya.com/revision/play/v1/audio?id={index["trackId"]}&ptype=1" # # print(link) # # 获取响应对象json字典数据 # json_data = requests.get(url=link, headers=headers).json() # audio_url = json_data["data"]["src"] # """ # response.text 数据类型是字符串 响应对象文本数据 # response.json() 数据类型是字典 响应对象json字典数据 # response.content 二进制数据内容 # ctrl + alt + L 格式化代码 和网易云收藏按键 以及QQ 锁定按键冲突 # """ # audio_content = requests.get(url=audio_url, headers=headers).content # with open("audio" + index["title"] + ".mp3", mode="wb") as f: # f.write(audio_content) # print(link, index["title"]) def get_num(): lis = [] for a in range(10): for b in range(10): for c in range(10): for d in range(10): num = f"{a}{b}{c}{d}" lis.append(num) return lis print(get_num()) string = "1111122211" string = string.replace("2", "3") print(string) 尾语
好了,我的这篇文章写到这里就结束啦!
有更多建议或问题可以评论区或私信我哦!一起加油努力叭(ง •_•)ง
喜欢就关注一下博主,或点赞收藏评论一下我的文章叭!!!
罗技MX智能键鼠新装备一套旗舰装备,一种全新体验新年新装备,对于我这种打工人来说,新的一年最重要的便是提升办公的幸福感,毕竟无论剪视频还是写文章,都离不开每次一键盘敲击,而一款舒适的键鼠套装,不仅能够提升每次的敲击感受,触发我的
贵阳标致408购车优惠1。8万元欢迎试乘试驾工作的不顺心,生活的烦恼,是时候换辆车改变一下心情了,近期贵州钟裕东风标致店即日起到11月05日,限时特惠1。8万元,期待您的光临促销时间2021年11月03日至2021年11月0
MOBIUZEX2710Q为游戏而生,全方位打造沉浸式游戏显示器游戏沉浸,讲究的是氛围,一方面是游戏环境的营造,另一方面则是桌面的打造,很多游戏玩家喜欢通过炫酷的RGB光污染营造氛围,但这远远不够,相比于灯光氛围的营造显示器作为游戏视觉的窗口,
买乐视耳机享以旧换新最高立省111元!快来呀2021年新年伊始,乐视就高调的推出了它的第一款搭载主动降噪功能的真无线蓝牙耳机Earspro,并有黑白两种颜色可选。随后,性价比炸街,续航备受夸赞的无线蓝牙耳机L18也与大家见面
出门找工作的一天今天是我来上海第六天啦,今天一早起来我就梳洗好准备去面试,前几天在网上看到一家化妆品公司在招聘销售员,我以前在老家也是做护肤类的工作,也做过销售,所以我看到了我就投了一份简历,没想
中兴MyOS系统评测细品之下的真香,以偏概全要不得对于硬件堆满,配置挑不出毛病的中兴来说,我们用户的关注点自然由配置转向了系统,那么MyOS能否满足我们的日常体验又能够带来哪些隐藏彩蛋,现在我们便来用一篇文章盘一盘。本次使用评测的
野小兽P30跑步机健身界的扛把子春天来了,天气变暖,T恤短裤马上就要安排上了。那么问题来了,小伙伴们,你们准备好了吗?为了在这个夏天露出完美的肌肉线条(其实就是不想被看出太胖),科科准备快马加鞭地练起来,入手了野
在家运动新方式野小兽R40划船机测评最近北京的冬天实在是太太太冷了,出去一趟就要冻成冰棍。周末基本上窝在家里不出门,工作日下班后也是赶紧回家,根本不想去健身房,户外锻炼更不可能了所以我不禁思考要不买个设备直接在家练。
酷米大战,手机界的一代目与二代目之争中国智能手机行业的崛起,离不开厂家之间的竞争,每个快速发展阶段都有着一位助推者。手机界的一代目主打硬件透明的小米在小米手机还没问世的那些年,智能手机行业只是刚刚起步,大多数人还在使
Python入门100题之010统计字母数字题目输入一行字符串,统计字母和数字。视频讲解Python入门100题之010统计字母数字代码1lineinput(输入一行字符串)DIGITS,LETTERS0,0forcinli
Python入门100题之006用类方法输入输出题目定义一个类,一个方法输入字符串S,另一个方法输出大写的S视频讲解Python入门100题之006用类方法输入输出代码1classInputOutStringdefgetstri