Python爬虫入门教程15:音乐网站数据的爬取

news/2024/5/21 0:14:45/文章来源:https://blog.csdn.net/chinaherolts2008/article/details/113631185

基本开发环境💨
Python 3.6
Pycharm
相关模块的使用💨
import requests
import os
安装Python并添加到环境变量,pip安装需要的相关模块即可。

一、💥明确需求
爬取某音乐网站的排行榜歌曲。
在这里插入图片描述

二、💥网页数据分析
1、F12或者鼠标右键点击检查打开开发者工具,点击播python基础教程放音乐,下面会加载出音乐数据。在这里插入图片描述

#  干饭人之歌 音频数据地址:
https://gm-sycdn.kuwo.cn/82c2c756b7ebeacb907831ff0906199e/601a3aa9/resource/n2/88/78/3642423505.mp3

复制链接粘贴到浏览器中

在这里插入图片描述

2、根据音频链接中的参数,搜索查找来源
在这里插入图片描述

音频链接来源

https://www.kuwo.cn/url?format=mp3&rid=160864905&response=url&type=convert_url3&br=128kmp3&from=web&t=1612331691895&httpsStatus=1&reqId=550f7f80-65e4-11eb-9b00-6d65a3b5fef1
一首歌曲的来源地址是找不出规律的,所以要再对比一些另外一首歌曲的链接参数
在这里插入图片描述

如图所示: rid 和 t 参数不一样,很明显 t 就是代表的时间戳,这个使用 time.time() 就有了,所以可以继续在开发者工具中搜索 rid 的值

在这里插入图片描述

在这里插入图片描述

https://www.kuwo.cn/api/www/bang/bang/musicList?bangId=93&pn=1&rn=30&httpsStatus=1&reqId=428dcbf0-65e4-11eb-9b00-6d65a3b5fef1
rid 以及 歌名 歌手名都有了。

三、💥代码实现
爬虫分析思路是从上到下开始分析,写代码则是从下往上写。

1、获取音乐的 rid 、歌名、歌手名

import pprint
import requestsdef get_response(html_url):headers = {'Cookie': '你自己的cookie','csrf': 'D2YF7NMH81N','Host': 'www.kuwo.cn','Referer': 'https://www.kuwo.cn/rankList','User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36',}response = requests.get(url=html_url, headers=headers)return responsedef get_music_info(html_url):json_data = get_response(html_url).json()pprint.pprint(json_data)music_list = json_data['data']['musicList']for index in music_list:music_name = index['album']singer = index['artist']music_rid = index['rid']if __name__ == '__main__':url = 'https://www.kuwo.cn/api/www/bang/bang/musicList?bangId=93&pn=1&rn=30&httpsStatus=1&reqId=428dcbf0-65e4-11eb-9b00-6d65a3b5fef1'get_music_info(url)

在这里插入图片描述

返回的是一个json数据,一个一个去取值就可以了,主要的注意点就是headers参数的问题,如果参数不给全,爬取不到数据。

2、获取音频URL地址

def get_music_url(music_rid):page_url = f'https://www.kuwo.cn/url?format=mp3&rid={music_rid}&response=url&type=convert_url3&br=128kmp3&from=web&t=1612331691895&httpsStatus=1&reqId=550f7f80-65e4-11eb-9b00-6d65a3b5fef1'json_data = get_response(page_url).json()music_url = json_data['url']return music_url
3、保存音频数据def save(music_name, music_url):path = 'music\\'if not os.path.exists(path):os.makedirs(path)filename = path + music_name + '.mp3'headers = {'if-range': '8eba7fc5d5b2f4d223d54612aa3f4773','range': 'bytes=524288-524288','upgrade-insecure-requests': '1','user-agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.25 Safari/537.36 Core/1.70.3861.400 QQBrowser/10.7.4313.400',}music_content = requests.get(url=music_url, headers=headers).contentwith open(filename, mode='wb') as f:f.write(music_content)print('正在保存:', music_name)

请求音乐下载的地址的 headers 需要更换一下。不然爬取不了音乐。
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_744062.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

建站记录2-CSS文件未加载-已解决-Resource interpreted as Stylesheet but transferred with MIME type text/plain

在本地加载正常,上传到服务器之后,网页没有样式。 解决问题的过程: 是否路径问题? —>分析:应该不是路径问题。页面中引用了图片,路径格式与CSS文件相同,图片可以正确加载。 —>操作–需…

快速把网站变成纯灰度显示,filter的使用

在html标签加上 <style>html {filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale1);-webkit-filter: grayscale(100%);} </style>filter https://developer.mozilla.org/zh-CN/docs/Web/CSS/filter filter CSS属性将模糊或颜色偏移等图形效果应用…

C# 关于爬取网站数据遇到csrf-token的分析与解决

需求 某航空公司物流单信息查询&#xff0c;是一个post请求。通过后台模拟POST HTTP请求发现无法获取页面数据&#xff0c;通过查看航空公司网站后&#xff0c;发现网站使用避免CSRF攻击机制&#xff0c;直接发挥40X错误。 关于CSRF 读者自行百度 网站HTTP请求分析 Headers …

随机切换必应美图html代码,随机显示必应每日一张图片为背景网站技巧教程

摘要&#xff1a; 主题有好多模板设置了分类的背景图&#xff0c;调用了第三方api但是最近第三方挂了&#xff0c;嗯嗯&#xff0c;这就是图省事不写代码的后果&#xff0c;一旦图片都失效&#xff0c;网站打开速度慢不说&#xff0c;图片的背景图还是灰蒙蒙一片&#xff0c;非…

C# 关于爬取网站数据遇到csrf-token的分析与解决

需求 某航空公司物流单信息查询&#xff0c;是一个post请求。通过后台模拟POST HTTP请求发现无法获取页面数据&#xff0c;通过查看航空公司网站后&#xff0c;发现网站使用避免CSRF攻击机制&#xff0c;直接发挥40X错误。 关于CSRF 读者自行百度 网站HTTP请求分析 Headers F…

java爬虫项目_「java爬虫」Java爬虫项目环境搭建 - seo实验室

java爬虫Github clone项目、创建分支下载Github for windows桌面客户端把master主分支clone到本地先把master主分支clone到本地 客户端界面操作&#xff1a; File-Clone repository 选中要clone的项目创建自己的分支 客户端界面操作&#xff1a;Branch-New branch 基于master创…

解决ASP网站HTTP 错误 500.19:httpErrors 节中不允许绝对物理路径

工作需要&#xff0c;需要vb.net教程维护一个asp的网站&#xff0c;网站十多年了&#xff0c;代码已经很难理清。Asp技术就不用多说了&#xff0c;二十多年前的技术&#xff0c;现在vs都已经不支持c#教程此种类型的项目。维护起来十分头疼&#xff0c;将来要写个东西替代它&…

.php容易收录吗,Wordpress容易被收录吗(Wordpress网站快速收录解决方法)

WordPress是使用PHP语言开发的博客CMS系统&#xff0c;有人问用WordPress做网站容易被收录吗?文章收录慢、不收录问题&#xff0c;小编整理了解决方法&#xff0c;让你的Wordpress网站快速被百度收录。百度作为最大的中文搜索引擎&#xff0c;现在推出了“快速收录”&#xff…

采购网站服务器的请示,关于采购云服务器的请示

关于采购云服务器的请示 内容精选换一换本文档主要介绍两种扩容场景&#xff0c;分别为扩容云服务器和扩容云硬盘。在“确认配置”页面&#xff0c;查看云服务器配置详情。如果您对价格有疑问&#xff0c;可以单击“了解计费详情”来了解产品价格。如果您对价格有疑问&#xff…

社交网站后端项目开发日记(二)

本项目vb.net教程目标是开发一个社区网c#教程站&#xff0c;拥python基础教程有发帖、讨论、搜索、登录等一个java基础教程正常社区拥有sql教程的功能。涉及到的版本参数为&#xff1a; JDK1.8Maven3.8.1&#xff08;直接集成到IDEA&#xff09;Springboot 2.5.1tomcat 9.0.45M…

编写一个520表白网站并发布Web教程

今天是2019年5月18日&#xff0c;还有两天就是2019-5-20了&#xff0c;本人也刚刚从JavaSe开始学&#xff0c;所以一时兴起就这了这个网站&#xff0c;主要的目的是给我媳妇儿表白&#xff0c;因为她总是给我说&#xff0c;“我们都不知道怎么在一起的迷迷糊糊的&#xff0c;还…

使用IIS发布网站

1.控制面板——>查看方式&#xff1a;小图标——>管理工具 2.点击IIS信息服务管理器 3.右键网站&#xff0c;发布网站 4.完成信息 此时&#xff0c;已经可以浏览网站&#xff0c;在浏览器输入localhost或点击浏览网站。 效果&#xff1a; 5&#xff0c;可以进一步编…

Python爬虫项目讲解:采集地方官方网站采购商品数据

前言 今天, 带大家采集地方官方网站的商品数据&#xff0c;其实这些公开的商品数据就是展示给用户看的&#xff0c;只不过我们通过爬虫采集下来可以更加方便我们看数据, 以及方便后续对数据做分析。 一起来看看吧! 本篇文章代码内容&#xff1a; 分析网页性质, 找数据请求的…

中文语音朗读网站

预览地址&#xff1a;https://yubin.applinzi.com 预览图片&#xff1a; 详细代码&#xff1a; <!DOCTYPE html> <html> <head><title>myweb</title><style>html{height: 100%;background:url(https://cdn.nlark.com/yuque/0/2019/jpeg/…

阿里云5m带宽能支持多少人访问_网站建立和运营一年大约要多少钱?

基于个人网站和企业网站&#xff0c;功能需求的简单化和复杂程度&#xff0c;所以这块的支出大致不同。一般的网站运营网站收费是包含网站建站和站&#xff0c;每年续费的费用的&#xff0c;以第一年为例&#xff0c;说一下基本的费用构成。1. 域名费用&#xff1a;看什么样的后…

用Python实现在网站上自动评论!键盘侠都喷不赢你!

自从上次在B站看到一个喷子&#xff0c;一个人喷一堆人&#xff0c;当时我就看不过去了&#xff0c;直接用Python写了个自动评论软件&#xff0c;他说一句我能说十句&#xff0c;当场教育喷子~ 于是乎&#xff0c;顺便整理一下&#xff0c;做了一手教程&#xff0c;分享给大家&…

网不好,看个漫画加载半天?教你用Python批量下载网站所有漫画(附源码和视频教程)

首先咱们用的是这些环境 Python3.6 pycharm 涉及到的知识点 requests parsel pip install 模块名 re os 大概流程 一、单章节爬取 找到受害者 https://www.kuimh.com/chapter/332265-3351141向受害者发送请求获取数据&#xff1a;获取源代码解析网页源代码: 提取漫画章节…

利用云函数+Python实现每日网站自动签到并用QQ提醒

利用云函数和Python实现蘑菇丁软件每日自动登录签到 由于怕token失效所以写成了每一次打卡前都要登录获取token一次&#xff0c;经过测试多次登录并不会造成登录异常&#xff0c;账号封禁等影响 Python3.6.2版本 """当然在学习Python的道路上肯定会困难&#x…

自从学会Python爬虫后,爬视频我只爬小姐姐!教你批量下载某短视频网站视频!

开发环境 Python版本&#xff1a;Python 3.6 / 3.8代码编辑器&#xff1a;pycharm 模块 requests、repip install requests 知识点 requests 的简单使用正则表达式的简单使用 大概思路 一、数据来源分析 (比较重要, 只有当你找到数据来源的时候, 你才能通过代码去实现) 1、…

html 标签按条件上颜色_认识html:实现网站页面是这么简单的一回事

互联网时代人们通过上网浏览信息&#xff0c;打开浏览器上网看到丰富的图文、视频、音乐等多媒体信息&#xff0c;一系列信息反馈和视觉冲击之后&#xff0c;您有没有想过&#xff0c;互联网这么发达的时代&#xff0c;您觉得花一点点时间学会做个网站页面不真香&#xff1f;概…