聚集网(jujiwang.com) - 收录免费分类目录信息软文发布网址提交
免费加入

QQ音乐爬虫:获取音乐信息和歌曲列表的终极指南 (qq音乐爬虫下载文件)

文章编号:10583时间:2024-09-28人气:


QQ音乐爬虫

简介

QQ音乐是中国最流行的流媒体音乐服务之一,拥有海量的音乐曲目。如果您正在寻找一种方法来获取 QQ 音乐中的音乐信息和歌曲列表,那么本指南将为您提供帮助。本指南将介绍以下内容:QQ 音乐 API 概述使用 Python 爬取 QQ 音乐的步骤使用 Node.js 爬取 QQ 音乐的步骤可用的 QQ 音乐爬虫工具包

QQ 音乐 API 概述

QQ 音乐提供了一个 API,用于访问其音乐目录。该 API 使用 RESTful 架构,这意味着您可以使用 HTTP 请求来检索数据。要使用 QQ 音乐 API,您需要一个 API 密钥。您可以通过访问 QQ 音乐开发者门户来获取 API 密钥。QQ 音乐 API 提供了各种端点,用于检索音乐信息和歌曲列表。以下是几个最常用的端点:`/search`:根据关键词搜索歌曲`/song/detail`:获取特定歌曲的详细信息`/playlist/detail`:获取特定歌单的详细信息有关 QQ 音乐 API 的更多信息,请参阅 QQ 音乐开发者文档。

使用 Python爬取 QQ 音乐

您可以使用 Python 轻松地爬取 QQ 音乐。以下是如何使用 Python 爬取 QQ 音乐的步骤:1. 安装必要的库。您需要安装 `requests` 和 `beautifulsoup4` 库才能使用 QQ 音乐 API。您可以使用 pip 安装这些库:pip install requests beautifulsoup42. 获取 API 密钥。如前所述,您需要一个 API 密钥才能使用 QQ 音乐 API。您可以通过访问 QQ 音乐开发者门户来获取 API 密钥。3. 编写爬虫脚本。以下是一个使用 Python 爬虫 QQ 音乐的示例脚本: python import requests import bs4设置 API 密钥 api_key = 'YOUR_API_KEY'搜索歌曲 search_term = '周杰伦' url = f'https://c.y.qq.com/soso/fcgi-bin/search_for_qq_cp?aggr=1&cr=1&lossless=0&catZhida=1&t=0&p=1&n=1&w={search_term}' headers = {'referer': 'https://y.qq.com/portal/search.html' } response = requests.get(url, headers=headers)解析搜索结果 soup = bs4.BeautifulSoup(response.text, 'html.parser') songs = soup.find_all('div', class_='songlist__item')提取歌曲信息 for song in songs:song_id = song.find('a', class_='songlist__songname_txt').get('href').split('=')[1]song_name = song.find('a', class_='songlist__songname_txt').text artist_name = song.find('a', class_='songlist__singer_name').textalbum_name = song.find('a', class_='songlist__album_name').text打印歌曲信息print(f'歌名:{song_name}')print(f'歌手:{artist_name}')print(f'专辑:{album_name}')print(f'歌曲 ID:{song_id}')print('=' ${artistName}`);console.log(`专辑:${albumName}`);console.log(`歌曲 ID:${songId}`);console.log('='.repeat(50));});}).catch(error => {console.error(error);});4. 运行脚本。您可以使用以下命令运行脚本:node qq_music_scraper.js

可用的 QQ 音乐爬虫工具包

除了自己编写爬虫脚本之外,您还可以使用现有的 QQ 音乐爬虫工具包。以下是一些最流行的工具包:[qqmusic-api](这些工具包提供了各种方法来获取 QQ 音乐中的音乐信息和歌曲列表。您可以根据自己的需求选择一个工具包。

结论

本指南介绍了如何使用 Python 和 Node.js 爬取 QQ 音乐。我们还提供了可用的 QQ 音乐爬虫工具包的列表。您可以使用这些信息来创建自己的 QQ 音乐爬虫或使用现有的工具包。

如何提取音频

如何提取网站上的音频?

提取网络中的音频的方法步骤:打开浏览器,点击“工具”→“Internet选项”。 在打开的“Internet选项”窗口中,点击“Internet临时文件”→“删除文件”按钮,来消除Internet临时缓存文件夹。

首先我们先打开一个带有音频的网页。 然后我们选择开发者工具。 接着我们选择刷新下网页。 点击其中的【Network】。 在【Filter】填mp3,把音频文件的链接搜出来。 双击链接,进入单独音频界面。

首先,打开一个播放音频的页面,这里以Chrome下的网络音乐为例。 其次,按下F12,进入开发者模式按F5刷新,在开发者选项中找到Network点击在Network选项卡上点击Size一般来说最大的文件就是音频文件。

第一步:打开工将网页中的音乐准备好,接着将工具打开到界面,可以先试着简单的了解一下。

可以用爬虫软件进行下载,或者使用录屏软件录取声音,在对录制的文件进行声音提取。

录制。 就是搞个软件把电脑当前的声音给录下来。 保存网页,在文件菜单中点保存,到保存目录下面会出现一个这样一个文件夹,里面应该有。 网页抓取工具。

怎么把的音乐提取出来

录音:这是最简单粗暴的方法了,无论是电脑上的视频还是手机里的视频,都可以通过录音的方法录制背景音乐。

可以使用音频器提取软件来提取音乐,首先保存抖音上想要提取音乐的视频。 打开音频提取器,点击加号按钮,选择保存的视频。 点击向下的三角图标,点击输出格式,选择mp3格式就可以提取音乐了。

把抖音的音乐提取出来的方法如下:首先打开抖音,点击右下角的分享按钮,点击保存本地,将视频下载到手机里。 在手机里下载个音频提取器,然后打开音频提取器,点击右上角的+按钮。

qq音乐爬虫下载文件

我们可以直接在此目录下找到已经提取的音频文件。 采用APP识别歌曲首先打开手机qq音乐主界面,选择-发现-听歌识曲。

方法如下:操作工具:vivoX9操作系统:FuntouchOS127软件:抖音v2首先用户打开抖音APP程序,找到自己需要下载背景音乐的视频,点击视频的分享按钮。

怎么提取视频中的音频?

选中视频,点开【格式】,选择格式,轻击【保存】,输入音频名字,点击【确认】即可;打开【视频格式转换工厂】,选中【音频提取】,选择视频,轻击【完成】即可。

下载并打开“嗨格式视频转换器”,点击首页“音频提取”,进入对应功能界面;进入音频提取功能页后点击“添加文件”上传需要视频文件;点击“转换”或“全部转换”即可。

首先打开手机上的音频提取软件。 选择“音频提取”功能。 选择你想要提取音频的视频文件。 选择你想提取的音频格式,我们常用的是mp3格式,还有其他格式也可以试试,选好格式后,点击“提取音频”。

首先将视频保存到手机上,打开这款工具,在首页找到【音频提取】功能。 随后进入手机相册,找到保存的视频,进行勾选,再点击【下一步】。 等待片刻,就能将视频里的音频分离出来了,处理速度非常快,点击播放试听。

如何把视频的音频提取出来

1、把提前备好的视频文件通过点击左上角的【添加文件】蓝色按钮,快速的导入软件中,准备提取工作;该软件工作效率很高,支持批量添加和转换;为保证提取音频的播放,我们选择设置转换的格式为兼容性较好的【mp3】音频格式。

2、首先打开手机上的音频提取软件。 选择“音频提取”功能。 选择你想要提取音频的视频文件。 选择你想提取的音频格式,我们常用的是mp3格式,还有其他格式也可以试试,选好格式后,点击“提取音频”。

3、首先将视频保存到手机上,打开这款工具,在首页找到【音频提取】功能。 随后进入手机相册,找到保存的视频,进行勾选,再点击【下一步】。 等待片刻,就能将视频里的音频分离出来了,处理速度非常快,点击播放试听。

4、推荐方法一:提词全能王(APP端)提词全能王是我个人经常使用的一款手机软件。 它的功能丰富多样,不仅能够帮助我们实现边拍摄边提词的操作,还能够帮助我们很好地处理图片和视频。

5、首先,打开手机上面的剪映,并点击进入。 进入到剪映的界面,点击上方的“+”号,导入需要制作的视频。 点击视频,在下方的找到音频,并点击进入,找到提取音乐点击。

Python培训课程哪家好?

不同机构课程安排不同,每个人需求不一样,选择上也是存在差异,建议根据自身需求,实地体验一下。 课程安排:阶段一:Python开发基础Python全栈开发与人工智能之Python开发基础知识学习内容包括:Python基础语法、数据类型、字符编码、文件操作、函数、装饰器、迭代器、内置方法、常用模块等。 阶段二:Python高级编程和数据库开发Python全栈开发与人工智能之Python高级编程和数据库开发知识学习内容包括:面向对象开发、Socket网络编程、线程、进程、队列、IO多路模型、Mysql数据库开发等。 阶段三:前端开发Python全栈开发与人工智能之前端开发知识学习内容包括:Html、CSSJavaScript开发、Jquery&bootstrap开发、前端框架VUE开发等。 阶段四:WEB框架开发Python全栈开发与人工智能之WEB框架开发学习内容包括:Django框架基础、Django框架进阶、BBS+Blog实战项目开发、缓存和队列中间件、Flask框架学习、Tornado框架学习、Restful API等。 阶段五:爬虫开发Python全栈开发与人工智能之爬虫开发学习内容包括:爬虫开发实战。 阶段六:全栈项目实战Python全栈开发与人工智能之全栈项目实战学习内容包括:企业应用工具学习、CRM客户关系管理系统开发、路飞学城在线教育平台开发等。 阶段七:数据分析Python全栈开发与人工智能之数据分析学习内容包括:金融量化分析。 阶段八:人工智能Python全栈开发与人工智能之人工智能学习内容包括:机器学习、图形识别、无人机开发、无人驾驶等。 阶段九:自动化运维&开发Python全栈开发与人工智能之自动化运维&开发学习内容包括:CMDB资产管理系统开发、IT审计+主机管理系统开发、分布式主机监控系统开发等。 阶段十:高并发语言GO开发Python全栈开发与人工智能之高并发语言GO开发学习内容包括:GO语言基础、数据类型与文件IO操作、函数和面向对象、并发编程等。

玩网易云的都是些什么人

网易云音乐除了是一个主流的音乐app之外拥有他自己的特色:强大的推荐算法以及与之匹配的社交功能。通过不同方面分析网易云的用户特征从而验证玩网易云的都是些什么人,具体内容如下:

男女用户比例均衡:男女用户基本都保持在42%这个水平没有差异,看来在热爱音乐这件事上是没有性别的界限的。

原创音乐人是普通用户外最大的贡献者。 网易云用户的标签有四种:什么标签都莫得的普通用户,达人标签(通常为某个圈子的视频或音乐的搬运工),音乐人标签(原创音乐人),大V(官方认证)。

其中音乐人占比到了3%,其实这个比例很明显是不正确的,百人中有三个音乐人,那音乐人家生活中会变得非常常见。

之所以占比这么高,是因为爬虫的逻辑是根据关注列表与粉丝列表进行广度优先的关联爬取,所以关注更多人的用户,拥有更多粉丝的用户有更高的概率被抽到,存在幸存者误差。 从某种程度上来说,所爬到的用户绝大部分是活跃用户,而不是一个随机抽样。

但是从另外一个角度来看,由于关联爬取的方式使得活跃用户被爬到的概率变得非常高,所以单独看音乐人、达人、大V这三个标签是有参考意义的,因为这两个活跃用户群几乎全部被爬到,遗漏的概率很小。

把普通用户的数据剔除,只留下特殊用户对比一下,可以看到在特殊用户群中原创音乐人占绝大多数,网易云音乐拥有着让一些知名度较低的音乐人发表自己的作品,培养自己的粉丝圈的土壤。 想要火,唱民谣。

根据用户粉丝数量排行,第一位是官方账号“云音乐VIP”,拥有600万粉丝,这意味着曾经购买过会员的用户约为600万,考虑到黑胶会员是2018年6月21日推出的,还不到一年,变现能力不错。

此外网红薛之谦排在第二席远远超过其他人,这个网红老前辈还是火的不行。

其次创作民谣的歌手在剩下的10个席位中占据5位:花粥、陈粒、李志、房东的猫、老狼。 由此看来民谣所拥有的用户基础是云音乐中最庞大的。 云音乐个人用户可以发表自己的歌曲,创作门槛较低的民谣成为大热也是情有可原。

95后正成为主流,付费意愿与年龄正相关。 1990出生的用户数据明显存在异常,按照日期对用户数量分组聚合之后找到原因:设置日期的默认值为1990/01/01。 注册一个新账号验证默认日期确实为该天,将该天的数据剔除后更新图表,90年出生的用户数量明显下降。

数据呈现出出生日期小于1998时递增而大于1998后递减的趋势,仔细一想2004年后的小朋友才18岁,大多数人在这个阶段并没有步入大学,能长期使用智能设备的比例不会很高,这部分人群数量较少是必然的。 总的来说,年轻人明显更喜欢音乐,爱用网易云音乐这款app。

网易云音乐的主体活跃用户是当下的大学生与年轻人,广大青少年都是潜在活跃用户。

Vip Ratio从直觉上是随着年龄的增大而增大的,年龄越大,消费能力越强,购买VIP的比例也就越高。 简单计算一下Vip Ratio与Age的相关系数:相关系数约0.83,可以认为Vip Ratio与Age强相关。

用户Level分布以7级为中心,等级越高付费意愿越强,10级用户都是听歌鬼才。

将Level属性与平均听歌数聚合可以得知每个等级的用户的听歌数的平均值,随着等级增长对应的听歌数呈指数级上升,10级的用户都是魔鬼,听歌数达到了25k。(music count是去重的,意味着单曲循环一首歌这个数值不会增长)

将Level属性与用户数量聚合,同时计算Vip比例可以得知主流用户还是Level 6、7、8这三个群体。 随着Level的上升Vip的比例有着明显的上升趋势,Level10的用户购买黑胶会员的比例达到了44%,说明用户粘度的上升会促进用户去购买Vip。 此外对比自己的数据,确认数据无误。

维吾尔族用户占据半壁江山,经济发达地区用户付费意愿强。

按照用户所在地以及Vip比例将数据可视化,从用户数量来看前三全部被新疆地区包揽。 其余部分热门的北上广深各大城市均在榜单。 而付费比例则是经济越发达的地区付费比例更高,结合年龄越大付费比例越高,意味着付费比例和消费能力相关密切。

让人匪夷所思的是新疆用户居然几乎占据了半壁江山。 这个维度的数据其实是比较可靠的,因为app的默认设置是用户设备的定位地,从用户习惯上来看也很少会有人费力气去改一个虚假的地址。

随意抽取一个新疆地区的用户验证,进行不负责任的分析:新疆的用户由于语系不是汉语,维吾尔族人居多,音乐文化也与华语圈完全不同,他们有着自己独特亚文化音乐,维语歌曲、俄语歌曲才是维吾尔族的人所普遍接受的。

在这种前提下网易云音乐这个依靠推荐算法建立社交的平台完美的满足了这一小众音乐的需求,相对QQ音乐资本为王的方式,在网易云这个小而美的平台上维族人能更容易的找到自己喜爱的歌。

同时也可以从维吾尔族人这一典型用户群体来分析一下网易云主流用户的特征:有着自己对音乐的判断,喜欢一些较为小众的音乐风格,这一点和听acg,听古典,听民谣是共通的。

但是假定这一判断是正确的情况下,在音乐文化游离于主流音乐体系之外的地区、国家,网易云音乐app有着非常独特的潜力。 并且可以联想到的是在很多的海外小国家,都有着自己独特的音乐与文化,在这样的市场里面网易云是不是有着独特的优势。

由于维族人的粉丝与关注对象大多数都是维族人,关联度很高,而爬虫在爬取数据的时候是根据这两个列表进行的广度优先搜索,所以前期的误差可能会被放大,在地区这个维度上数据也确实有可能存在误差。

结合现有的数据来看,网易云的主流用户群即:广大20岁左右,有着对独特风格的音乐偏好,且长期使用网易云、拥有较高的账号等级的人群。 而黑胶会员在拥有较强消费能力的用户与高粘度用户中比例较大。

音乐是一个年轻人市场,利用自己的优势想办法留住年轻人,帮助真正有才华、有温度的年轻歌手建立出自己的口碑,让年轻人与优秀的音乐对话的网易云音乐,才是那个有温度的APP。

其次网易云音乐在亚文化地区中的威力不容小觑,国外应该存在许多有着自己独特音乐文化的小国,或许往这个方向发力不失为一个不错的选择。

怎么用爬虫获取音乐

近年来,随着互联网技术的不断发展,越来越多的人开始使用爬虫来获取音乐。 通过爬虫获取音乐,不仅可以免费获取大量的音乐资源,还可以快速地找到自己喜欢的音乐。 下面我们来介绍一下如何用爬虫获取音乐。 首先,我们需要选择一个合适的网站。 目前市面上有很多音乐网站,如酷狗音乐、网易云音乐、QQ音乐等。 我们可以根据自己的喜好选择一个合适的网站。 接着,我们需要了解一些基本的爬虫知识。 爬虫是一种自动化获取网页信息的工具,可以模拟人类操作,自动抓取网页上的信息,并进行处理和分析。 在使用爬虫时,我们需要了解网页的结构和编码方式。 然后,我们需要选择一个合适的编程语言。 目前常用的编程语言有Python、Java、JavaScript等。 其中,Python是最为流行的语言之一,因为它简单易学、功能强大、支持多种操作系统,并且有丰富的第三方库和工具。 最后,我们需要编写爬虫程序。 在编写爬虫程序时,我们需要根据网页的结构和编码方式,使用相应的爬虫框架和库。 例如,使用Python中的requests库和BeautifulSoup库可以轻松地获取网页信息,并提取出我们需要的音乐链接。 需要注意的是,在使用爬虫获取音乐时,我们需要遵守相关法律法规,不得侵犯他人的版权和隐私。 另外,我们还需要注意数据的安全和保护,避免泄露个人信息和数据。 综上所述,使用爬虫获取音乐可以帮助我们快速地获取大量的音乐资源,但是也需要我们遵守相关法律法规和保护数据安全。

如何利用Python爬取网易云音乐热门评论

本篇文章给大家分享的内容是如何利用Python爬取网易云音乐热门评论,有着一定的参考价值,有需要的朋友可以参考一下前言最近在研究文本挖掘相关的内容,所谓巧妇难为无米之炊,要想进行文本分析,首先得到有文本吧。 获取文本的方式有很多,比如从网上下载现成的文本文档,或者通过第三方提供的API进行获取数据。 但是有的时候我们想要的数据并不能直接获取,因为并不提供直接的下载渠道或者API供我们获取数据。 那么这个时候该怎么办呢?有一种比较好的办法是通过网络爬虫,即编写计算机程序伪装成用户去获得想要的数据。 利用计算机的高效,我们可以轻松快速地获取数据。 关于爬虫那么该如何写一个爬虫呢?有很多种语言都可以写爬虫,比如Java,php,python 等,我个人比较喜欢使用python。 因为python不仅有着内置的功能强大的网络库,还有诸多优秀的第三方库,别人直接造好了轮子,我们直接拿过来用就可以了,这为写爬虫带来了极大的方便。 不夸张地说,使用不到10行python代码其实就可以写一个小小的爬虫,而使用其他的语言可以要多写很多代码,简洁易懂正是python的巨大的优势。 好了废话不多说,进入今天的正题。 最近几年网易云音乐火了起来,我自己就是网易云音乐的用户,用了几年了。 以前用的是QQ音乐和酷狗,通过我自己的亲身经历来看,我觉得网易云音乐最优特色的就是其精准的歌曲推荐和独具特色的用户评论(郑重声明!!!这不是软文,非广告!!!仅代表个人观点,非喜勿喷!)。 经常一首歌曲下面会有一些被点赞众多的神评论。 加上前些日子网易云音乐将精选用户评论搬上了地铁,网易云音乐的评论又火了一把。 所以我想对网易云的评论进行分析,发现其中的规律,特别是分析一些热评具有什么共同的特点。 带着这个目的,我开始了对网易云评论的抓取工作。 网络库Python内置了两个网络库urllib和urllib2,但是这两个库使用起来不是特别方便,所以在这里我们使用一个广受好评的第三方库requests。 使用requests只用很少的几行代码就可以实现设置代理,模拟登陆等比较复杂的爬虫工作。 如果已经安装pip的话,直接使用pip install requests 即可安装。 中文文档地址在此大家有什么问题可以自行参考官方文档,上面会有非常详细的介绍。 至于urllib和urllib2这两个库也是比较有用的,以后如果有机会我会再给大家介绍一下。 工作原理在正式开始介绍爬虫之前,首先来说一下爬虫的基本工作原理,我们知道我们打开浏览器访问某个网址本质上是向服务器发送了一定的请求,服务器在收到我们的请求之后,会根据我们的请求返回数据,然后通过浏览器将这些数据解析好,呈现在我们的面前。 如果我们使用代码的话,就要跳过浏览器的这个步骤,直接向服务器发送一定的数据,然后再取回服务器返回的数据,提取出我们想要的信息。 但是问题是,有的时候服务器需要对我们发送的请求进行校验,如果它认为我们的请求是非法的,就会不返回数据,或者返回错误的数据。 所以为了避免发生这种情况,我们有的时候需要把程序伪装成一个正常的用户,以便顺利得到服务器的回应。 如何伪装呢?这就要看用户通过浏览器访问一个网页与我们通过程序访问一个网页之间的区别。 通常来说,我们通过浏览器访问一个网页,除了发送访问的url之外,还会给服务发送额外的信息,比如headers(头部信息)等,这就相当于是请求的身份证明,服务器看到了这些数据,就会知道我们是通过正常的浏览器访问的,就会乖乖地返回数据给我们了。 模拟登陆所以我们程序就得像浏览器一样,在发送请求的时候,带上这些标志着我们身份的信息,这样就能顺利拿到数据。 有的时候,我们必须在登录状态下才能得到一些数据,所以我们必须要模拟登录。 本质上来说,通过浏览器登录就是post一些表单信息给服务器(包括用户名,密码等信息),服务器校验之后我们就可以顺利登录了,利用程序也是一样,浏览器post什么数据,我们原样发送就可以了。 关于模拟登录,我后面会专门介绍一下。 当然事情有的时候也不会这么顺利,因为有些网站设置了反爬措施,比如如果访问过快,有时候会被封ip(典型的比如豆瓣)。 这个时候我们还得要设置代理服务器,即变更我们的ip地址,如果一个ip被封了,就换另外一个ip,具体怎么做,这些话题以后慢慢再说。 小技巧 最后,再介绍一个我认为在写爬虫过程中非常有用的一个小技巧。 如果你在使用火狐浏览器或者chrome的话,也许你会注意到有一个叫作开发者工具(chrome)或者web控制台(firefox)的地方。 这个工具非常有用,因为利用它,我们可以清楚地看到在访问一个网站的过程中,浏览器到底发送了什么信息,服务器究竟返回了什么信息,这些信息是我们写爬虫的关键所在。 下面你就会看到它的巨大用处。 如何爬取评论首先打开网易云音乐的网页版,随便选择一首歌曲打开它的网页,这里我以周杰伦的《晴天》为例。 如下图:接下来打开web控制台(chrome的话打开开发者工具,如果是其他浏览器应该也是类似),如下图:然后这个时候我们需要点选网络,清除所有的信息,然后点击重新发送(相当于是刷新浏览器),这样我们就可以直观看到浏览器发送了什么信息以及服务器回应了什么信息。 如下图:刷新之后得到的数据如下可以看到浏览器发送了非常多的信息,那么哪一个才是我们想要的呢?这里我们可以通过状态码做一个初步的判断,status code(状态码)标志了服务器请求的状态,这里状态码为200即表示请求正常,而304则表示不正常(状态码种类非常多,如果要想详细了解可以自行搜索,这里不说304具体的含义了)。 所以我们一般只用看状态码为200的请求就可以了,还有就是,我们可以通过右边栏的预览来粗略观察服务器返回了什么信息(或者查看响应)。 如下图:通过这两种方法结合一般我们就可以快速找到我们想要分析的请求。 注意图5中的请求网址一栏即是我们想要请求的网址,请求的方法有两种:get和post,还有一个需要重点关注的就是请求头,里面包含了user-Agent(客户端信息),refrence(从何处跳转过来)等多种信息,一般无论是get还是post方法我们都会把头部信息带上。 头部信息如下图:另外还需要注意的是:get请求一般就直接把请求的参数以 ?parameter1=value1¶meter2=value2 等这样的形式发送了,所以不需要带上额外的请求参数,而post请求则一般需要带上额外的参数,而不直接把参数放在url当中,所以有的时候我们还需要关注参数这一栏。 经过仔细寻找,我们终于找到原来与评论相关的请求在这个请求当中,如下图:点开这个请求,我们发现它是一个post请求,请求的参数有两个,一个是params,还有一个是encSecKey,这两个参数的值非常的长,感觉应该像是加密过的。 如下图:服务器返回的和评论相关的数据为json格式的,里面含有非常丰富的信息(比如有关评论者的信息,评论日期,点赞数,评论内容等等),如下图9所示:(其实hotComments为热门评论,comments为评论数组)至此,我们已经确定了方向了,即只需要确定params和encSecKey这两个参数值即可,这个问题困扰了我一下午,我弄了很久也没有搞清楚这两个参数的加密方式,但是我发现了一个规律,中 R_SO_4_ 后面的数字就是这首歌的id值,而对于不同的歌曲的param和encSecKey值,如果把一首歌比如A的这两个参数值传给B这首歌,那么对于相同的页数,这种参数是通用的,即A的第一页的两个参数值传给其他任何一首歌的两个参数,都可以获得相应歌曲的第一页的评论,对于第二页,第三页等也是类似。 但是遗憾的是,不同的页数参数是不同的,这种办法只能抓取有限的几页(当然抓取评论总数和热门评论已经足够了),如果要想抓取全部数据,就必须搞明白这两个参数值的加密方式。 以为没有搞明白,昨天晚上我带着这个问题去知乎搜索了一下,居然真的被我找到了答案。 @平胸小仙女 这位知友详细说明了如何破解这两个参数的加密过程,我研究了一下,发现还是有点小复杂的,按照知友写的方法,我改动了一下,就成功得到了全部的评论。 这里要对知乎@平胸小仙女 表示感谢。 到此为止,如何抓取网易云音乐的评论全部数据就全部讲完了。 按照惯例,最后上代码,亲测有效:#!/usr/bin/env python2.7 # -*- coding: utf-8 -*- # @Time : 2017/3/28 8:46 # @Author : Lyrichu # @Email : # @File : NetCloud_ @Description: 网易云音乐评论爬虫,可以完整爬取整个评论 部分参考了@平胸小仙女的文章来源:知乎 from import AES import base64 import requests import json import codecs import time # 头部信息 headers = { , Accept-Language:zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3, Accept-Encoding:gzip, deflate, Content-Type:application/x-www-form-urlencoded, Cookie:_ntes_nnid=b04b121e078dee797cdb30e0fd,27; _ntes_nuid=b04b121e078dee797cdb30e0fd; JSESSIONID-WYYY=yfqt9ofhY%5CIYNkXW71TqY5OtSZyjE%2FoswGgtl4dMv3Oa7%5CQ50T%2FVaee%2FMSsCifHE0TGtRMYhSPpr20i%5CRO%2BO%2B9pbbJnrUvGzkibhNqw3Tlgn%5Coil%2FrW7zFZZWSA3K9gD77MPSVH6fnv5hIT8ms70MNB3CxK5r3ecj3tFMlWFbFOZmGw%5C%3A80; _iuqxldmzr_=32; vjuids=c8ca7976.15a029d006a.0.e63af8; vjlast=..21; __gads=ID=a9eed5e3cae4d252:T=:S=ALNI_Mb5XX2vlkjsiU5cIy91-ToUDoFxIw; vinfo_n_f_l_n3=411a2def7f75a62e.1.1.69.05.42; P_INFO=||1|study|00&99|null&null&null#hub #0#0|&1|study_client|; NTES_CMT_USER_INFO=%7Cm155****4439%7Chttps%3A%2F%%2Fe%%2Ftie%2Fimages%2Fyun%2Fphoto_default_%7Cfalse%7CbTE1NTI3NTk0NDM5QDE2My5jb20%3D; usertrack=c+5+hljHgU0T1FDmA66MAg==; Province=027; City=027; _ga=GA1.2..; __utma=.....8; __utmc=; __utmz==baidu|utmccn=(organic)|utmcmd=organic; playerid=; __utmb=.23.10., Connection:keep-alive, Referer:}# 设置代理服务器 proxies= { http::https::}# offset的取值为:(评论页数-1)*20,total第一页为true,其余页为false # first_param = {rid:, offset:0, total:true, limit:20, csrf_token:} # 第一个参数 second_param = # 第二个参数 # 第三个参数 third_param = 00e0b509f6259df8642dbcdfec152b5ff68ace615bb7bb3ab17a876aea8a5aa76d2eec4ee341ffccfe0312ecbdacaf6c9d05c4f7f0c3685b7a46beecce10b424d813cfe4875d3eb97ddefd546b8e289dc6935b3ece0462db0a22b8e7 # 第四个参数 forth_param = 0CoJUm6Qyw8W8jud # 获取参数 def get_params(page): # page为传入页数 iv = first_key = forth_param second_key = 16 * F if(page == 1): # 如果为第一页 first_param = {rid:, offset:0, total:true, limit:20, csrf_token:} h_encText = AES_encrypt(first_param, first_key, iv) else: offset = str((page-1)*20) first_param = {rid:, offset:%s, total:%s, limit:20, csrf_token:} %(offset,false) h_encText = AES_encrypt(first_param, first_key, iv) h_encText = AES_encrypt(h_encText, second_key, iv) return h_encText # 获取 encSecKey def get_encSecKey(): encSecKey = aecb5e556c066de214e531faadd1c55d814f9be95fd06d6bff9f4c7a41f831f6394d5a3fd2ed94a02ca919de7d0a50ebfa1769a7a62d512f5f1ca21aec60bc3819a9c3ffca5eca9a0dba6d6f7249b06f5965ecfff3695b54e1c28f3fed39e7de08fce26dbc4484a01c76f739ec return encSecKey # 解密过程 def AES_encrypt(text, key, iv): pad = 16 - len(text) % 16 text = text + pad * chr(pad) encryptor = (key, _CBC, iv) encrypt_text = (text) encrypt_text = base64.b64encode(encrypt_text) return encrypt_text # 获得评论json数据 def get_json(url, params, encSecKey): data = { params: params, encSecKey: encSecKey } response = (url, headers=headers, data=data,proxies = proxies) return # 抓取热门评论,返回热评列表 def get_hot_comments(url): hot_comments_list = [] hot_comments_(u用户ID 用户昵称 用户头像地址 评论时间 点赞总数 评论内容) params = get_params(1) # 第一页 encSecKey = get_encSecKey() json_text = get_json(url,params,encSecKey) json_dict = (json_text) hot_comments = json_dict[hotComments] # 热门评论 print(共有%d条热门评论! % len(hot_comments)) for item in hot_comments: comment = item[content] # 评论内容 likedCount = item[likedCount] # 点赞总数 comment_time = item[time] # 评论时间(时间戳) userID = item[user][userID] # 评论者id nickname = item[user][nickname] # 昵称 avatarUrl = item[user][avatarUrl] # 头像地址 comment_info = userID + + nickname + + avatarUrl + + comment_time + + likedCount + + comment + u hot_comments_(comment_info) return hot_comments_list # 抓取某一首歌的全部评论 def get_all_comments(url): all_comments_list = [] # 存放所有评论 all_comments_(u用户ID 用户昵称 用户头像地址 评论时间 点赞总数 评论内容) # 头部信息 params = get_params(1) encSecKey = get_encSecKey() json_text = get_json(url,params,encSecKey) json_dict = (json_text) comments_num = int(json_dict[total]) if(comments_num % 20 == 0):



相关标签: 获取音乐信息和歌曲列表的终极指南QQ音乐爬虫qq音乐爬虫下载文件

上一篇:使用QQ音乐爬虫进行深入音乐分析使用QQ音乐

下一篇:微信红包插件一劳永逸解决抢红包之痛微信红

内容声明:

1、本站收录的内容来源于大数据收集,版权归原网站所有!
2、本站收录的内容若侵害到您的利益,请联系我们进行删除处理!
3、本站不接受违法信息,如您发现违法内容,请联系我们进行举报处理!
4、本文地址:http://www.jujiwang.com/article/888deb3a9b3dc827f44d.html,复制请保留版权链接!


温馨小提示:在您的网站做上本站友情链接,访问一次即可自动收录并自动排在本站第一位!
随机文章
使用异步任务:异步任务在后台执行,从而提高了响应能力。尽快将任务设置为异步。(使用异步任务的好处)

使用异步任务:异步任务在后台执行,从而提高了响应能力。尽快将任务设置为异步。(使用异步任务的好处)

异步任务是一种在后台执行任务的技术,它可以大幅提高系统响应能力,它的工作原理是将耗时的任务从主线程中剥离出来,交由独立的线程或进程去处理,从而避免主线程被阻塞,异步任务的优势异步任务有以下显著优势,提升响应能力,异步任务将耗时任务从主线程中剥离,使主线程始终处于可用状态,这样,即使后台任务仍在执行,主线程也能继续处理用户请求,避免页面...。

本站公告 2024-09-26 22:13:40

用大家来找茬外挂,轻松发现隐藏的差异 (用大家来找茬表情包)

用大家来找茬外挂,轻松发现隐藏的差异 (用大家来找茬表情包)

大家来找茬是一款非常考验眼力的游戏,但是如果使用外挂的话,就可以轻松发现隐藏的差异,这里给大家介绍一款大家来找茬外挂,可以快速找出图片中的所有差异,外挂使用方法下载并安装外挂打开大家来找茬游戏点击外挂按钮,扫描图片外挂会自动标记出所有差异外挂功能快速扫描图片,找出所有差异标记差异位置,方便玩家快速找到支持多种图片格式使用简单,操作方便...。

最新资讯 2024-09-25 22:54:33

动态方法调用:反射地调用方法,即使是在编译时未知的方法。(动态方法调用失败原因)

动态方法调用:反射地调用方法,即使是在编译时未知的方法。(动态方法调用失败原因)

动态方法调用是一种技术,它允许在编译时未知的方法在程序运行时进行调用,这可以通过使用反射来实现,反射反射是Java中一种强大的机制,它允许程序内省其自身结构,这使得程序能够检查自己的类、方法、字段和其他元数据,反射通常用于以下目的,操纵类的元数据创建新类的实例调用方法获取和设置字段值动态方法调用动态方法调用是一种利用反射的强大功能在程...。

技术教程 2024-09-25 09:43:20

Java 负载均衡最佳实践:确保高度可用性、可伸缩性和容错性的实用建议 (Java负载均衡)

Java 负载均衡最佳实践:确保高度可用性、可伸缩性和容错性的实用建议 (Java负载均衡)

负载均衡是分布式系统中确保应用程序高可用性、可伸缩性和容错性的关键方面,通过将请求分布到多个服务器,负载均衡可以防止单个服务器故障导致系统故障,并允许系统随着需求的增长而轻松扩展,Java中负载均衡的最佳实践在本指南中,我们将探讨Java应用程序中负载均衡的最佳实践,帮助您建立高度可用、可伸缩且容错的系统,1.选择合适的负载均衡器选择...。

本站公告 2024-09-25 01:47:30

Vue.js(vue.js是什么)

Vue.js(vue.js是什么)

Vue.js是一个渐进式的JavaScript框架,用于构建用户界面,渐进式框架Vue.js的渐进式设计理念意味着你可以根据需要使用它的功能,你可以从一个小型的核心库开始,然后随着项目的增长添加更多的功能,数据响应式Vue.js的核心功能之一是数据响应式,这表示当数据发生变化时,Vue.js将自动更新用户界面,这使得创建动态且交互式的...。

技术教程 2024-09-24 19:48:31

创建时间戳:可以使用 localtime::now()函数创建当前时间的时间戳。(创建时间戳为小时分钟的时间序列索引)

创建时间戳:可以使用 localtime::now()函数创建当前时间的时间戳。(创建时间戳为小时分钟的时间序列索引)

在Rust中,可以使用localtime,now,函数创建当前时间的时间戳,时间戳本质上是一个数字,表示自特定参考点,通常是1970年1月1日午夜UTC,以来的秒数,localtime,now,函数返回一个LocalDateTime值,其中包含当前日期和时间的信息,要获取时间戳,可以使用LocalDateTime,times...。

本站公告 2024-09-16 16:17:06

小程序支付回调从入门到精通:详细指南和代码示例 (小程序支付回调不成功的原因)

小程序支付回调从入门到精通:详细指南和代码示例 (小程序支付回调不成功的原因)

简介小程序支付回调是小程序开发中非常重要的一个环节,通过回调,开发者可以获取到支付结果并进行相应的处理,本文将详细介绍小程序支付回调的各个方面,包括回调流程、回调参数、回调处理以及常见问题解决,回调流程小程序支付回调的流程如下,用户发起小程序支付请求支付成功后,微信支付服务器会向小程序服务器发送支付结果通知小程序服务器收到支付结果通知...。

互联网资讯 2024-09-11 01:19:45

C 语言面试指南:准备技术面试,展现你的 C 语言专长 (c语言面试指针编程题)

C 语言面试指南:准备技术面试,展现你的 C 语言专长 (c语言面试指针编程题)

前言在当今竞争激烈的技术市场中,掌握C语言对于任何渴望在软件工程领域取得成功的候选人来说都是至关重要的,C语言是一种基础性且功能强大的编程语言,被广泛用于开发操作系统、嵌入式系统和高性能应用程序,因此,许多公司在招聘软件工程师时都会考察候选人的C语言技能,技术面试准备复习基础知识数据类型变量和常量运算符控制流,条件和循环语句,函数和指...。

最新资讯 2024-09-10 22:58:07

确定冲突的根本原因,避免纠缠于表面问题。(确定冲突的根源是什么)

确定冲突的根本原因,避免纠缠于表面问题。(确定冲突的根源是什么)

确定冲突的根本原因,避免纠缠于表面问题引言冲突是不可避免的,在任何互动环境中,从人际关系到职场,都会发生冲突,以健康和富有成效的方式解决冲突是至关重要的,这需要确定冲突的根本原因,而不是纠缠于表面问题,表面问题与根本原因表面问题是冲突显而易见的表现,如争吵、指责或不一致,这些表面问题往往只是更深层问题或冲突根源的症状,确定根本原因确定...。

最新资讯 2024-09-08 06:44:07

掌握TextBox控件的精髓:提高表单输入的效率 (掌握的英语)

掌握TextBox控件的精髓:提高表单输入的效率 (掌握的英语)

TextBox控件是HTML表单中的一个重要组成部分,它允许用户输入文本数据,虽然TextBox控件看似简单,但它却包含着许多功能和特性,可以显著提高表单输入的效率和用户体验,基本属性TextBox控件的基本属性主要包括,type,指定控件的类型,对于文本输入,应设置为text,name,为控件分配一个唯一的名称,用于识别表单提交时的...。

最新资讯 2024-09-07 03:07:01

数据库编程的艺术与科学:技术与实践的完美融合 (数据库编程的主要内容)

数据库编程的艺术与科学:技术与实践的完美融合 (数据库编程的主要内容)

数据库编程是计算机科学中一门激动人心且充满挑战的领域,它将技术创新与实际应用完美地结合在一起,它涉及设计、开发和维护用于存储和管理数据的计算机程序,数据库编程人员负责确保数据以安全、可靠且高效的方式进行处理,数据库编程术语数据库,数据的有组织集合,通常存储在计算机系统中,数据库管理系统,DBMS,一种软件,用于创建、管理和访问数据库...。

技术教程 2024-09-06 18:23:08

用织梦模板解锁无限可能:打造定制化、独一无二的网站 (织梦怎么套模板)

用织梦模板解锁无限可能:打造定制化、独一无二的网站 (织梦怎么套模板)

织梦,一个久负盛名的中文内容管理系统,CMS,,以其强大的功能和用户友好的界面而著称,借助织梦提供的丰富模板,您可以轻松创建定制化、独一无二的网站,满足您的各种需求,织梦模板库织梦官方网站提供了一个庞大的模板库,包含了多种不同风格和设计的模板,这些模板涵盖了各种主题,包括企业、博客、电子商务、教育等等,无论您需要什么类型的网站,您都可...。

最新资讯 2024-09-05 13:25:23