本文主要是介绍zhai男福利!Python爬取猫耳FM音频,一场酣畅淋漓的听觉盛宴!!!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
前言
本文知识点
环境与库
实现步骤
代码实现
导入相关模块
解析网页
获取音频id
解析json数据获取音频下载链接
下载保存并命名
函数整体调用
最终效果展示
前言
猫耳FM一般被称作“M站”,平台内容以女性向为主,覆盖了有声漫、广播剧、翻唱、电台等二次元及泛二次元的声音内容,是一个专注于ACG相关内容的二次元音频社区。
今天,它将是我们的受害者○( ^皿^)っHiahiahia…
本文知识点
- 1、函数构造与调用
- 2、多层数据解析
- 3、海量音频数据保存
环境与库
- python 3.8
- pycharm专业版
- requests
- re
- os
实现步骤
- 1.获取每个音频的id
- 2.通过id拼接音频详情页地址
- 3.请求地址获取json数据
- 4.解析json数据获取音频地址
- 5.保存音频并以其名称命名
代码实现
导入相关模块
import requests
import re
import os
解析网页
def get_html(url):headers = {'Cookie': 'acw_tc=2f624a5917044582169955929e19a14ec0e690ecccc374f6f37cab9d2758df; MSESSID=4efr9ap4gadb2s08pdiq129q73; Hm_lvt_91a4e950402ecbaeb38bd149234eb7cc=1704458226; Hm_lpvt_91a4e950402ecbaeb38bd149234eb7cc=1704458285','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'}response = requests.get(url, headers=headers)return response
获取音频id
网页右键查看网页源代码找到音频详情页地址,并使用re正则解析出其id
def get_ids(response):mp3_ids = re.findall('<a target="_player" href="/sound/(.*?)" title=".*?">', response.text)return mp3_ids
解析json数据获取音频下载链接
def get_sound(response):json_data = response.json()title = json_data['info']['sound']['soundstr'] # 标题sound_url = json_data['info']['sound']['soundurl'] # 音频下载链接return title, sound_url
下载保存并命名
def save(title, mp3_data):with open('mp3\\' + title + '.m4a', mode='wb') as f:f.write(mp3_data)print(title, '下载完成!')
函数整体调用
def run(url):response = get_html(url)mp3_ids = get_ids(response)for mp3_id in mp3_ids:mp3_url = 'https://www.missevan.com/sound/getsound?soundid=' + mp3_idresponse_1 = get_html(mp3_url)title, sound_url = get_sound(response_1)# title = change_title(title)# print(sound_url)mp3_data = get_html(sound_url).contentsave(title, mp3_data)run('https://www.missevan.com/sound/m/110')
最终效果展示
什么?!当女友假装病娇对你用手铐,发现弄疼你后道歉 。好好好,今晚就梦这个!!!
这篇关于zhai男福利!Python爬取猫耳FM音频,一场酣畅淋漓的听觉盛宴!!!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!