python 在网易云搜索歌曲,得到歌曲ID,歌名等信息,可自行下载!
import requests,os,json,base64 from scrapy.selector import Selector from binascii import hexlify from Crypto.Cipher import AESclass Encrypyed(): '''传入歌曲的ID,加密生成'params'、'encSecKey 返回''' def __init__(self): self.pub_key = '010001' self.modulus = '00e0b509f6259df8642dbc35662901477df22677ec152b5ff68ace615bb7b725152b3ab17a876aea8a5aa76d2e417629ec4ee341f56135fccf695280104e0312ecbda92557c93870114af6c9d05c4f7f0c3685b7a46bee255932575cce10b424d813cfe4875d3e82047b97ddef52741d546b8e289dc6935b3ece0462db0a22b8e7' self.nonce = '0CoJUm6Qyw8W8jud' def create_secret_key(self, size): return hexlify(os.urandom(size))[:16].decode('utf-8')def aes_encrypt(self,text, key): iv = '0102030405060708' pad = 16 - len(text) % 16 text = text + pad * chr(pad)encryptor = AES.new(key, AES.MODE_CBC, iv)result = encryptor.encrypt(text)result_str = base64.b64encode(result).decode('utf-8')return result_strdef rsa_encrpt(self,text, pubKey, modulus): text = text[::-1]rs = pow(int(hexlify(text.encode('utf-8')), 16), int(pubKey, 16), int(modulus, 16))return format(rs, 'x').zfill(256)def work(self,ids,br=128000): text = {'ids': [ids], 'br': br, 'csrf_token': ''}text = json.dumps(text)i=self.create_secret_key(16)encText =self.aes_encrypt(text, self.nonce)encText=self.aes_encrypt(encText,i)encSecKey=self.rsa_encrpt(i,self.pub_key,self.modulus)data = {'params': encText, 'encSecKey': encSecKey}return datadef search(self,text): text = json.dumps(text)i = self.create_secret_key(16)encText = self.aes_encrypt(text, self.nonce)encText = self.aes_encrypt(encText, i)encSecKey = self.rsa_encrpt(i, self.pub_key, self.modulus)data = {'params': encText, 'encSecKey': encSecKey}return dataclass search(): '''跟歌单直接下载的不同之处,1.就是headers的referer 2.加密的text内容不一样! 3.搜索的URL也是不一样的 输入搜索内容,可以根据歌曲ID进行下载,大家可以看我根据跟单下载那章,自行组合 ''' def __init__(self): self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36','Host': 'music.163.com','Referer': 'http://music.163.com/search/'} ###!!注意,搜索跟歌单的不同之处!! self.main_url='http://music.163.com/' self.session = requests.Session()self.session.headers=self.headersself.ep=Encrypyed()def search_song(self, search_content,search_type=1, limit=9): """ 根据音乐名搜索 :params search_content: 音乐名 :params search_type: 不知 :params limit: 返回结果数量 return: 可以得到id 再进去歌曲具体的url """ url = 'http://music.163.com/weapi/cloudsearch/get/web?csrf_token=' text = {'s': search_content, 'type': search_type, 'offset': 0, 'sub': 'false', 'limit': limit}data = self.ep.search(text)resp = self.session.post(url, data=data)result = resp.json()if result['result']['songCount']<= 0: print('搜不到!!')else: songs = result['result']['songs']for song in songs: song_id,song_name,singer,alia = song['id'],song['name'],song['ar'][0]['name'],song['al']['name']print(song_id,song_name,singer,alia)if __name__ == '__main__': d=search()d.search_song('爱多一次痛多一次')
结果!
152390 爱多一次痛多一次 谭咏麟 二十年白金畅销金曲全记录
153841 爱多一次,痛多一次(粤) 谭咏麟 爱的盛筵 粤语纪念版
150763 爱与哀愁 童安格 爱与哀愁
154224 爱多一次痛多一次 谭咏麟 笑看人生
5245634 爱多一次痛多一次 谭咏麟 广东经典101
154096 爱多一次痛多一次 谭咏麟 经典金曲
153722 爱多一次痛多一次(Live) - live 谭咏麟 谭咏麟 94纯金曲演唱会(香港大球场)
5280973 爱多一次痛多一次 谭咏麟 鼓舞飞扬
150601 爱与哀愁 童安格 20世纪中华歌坛名人百集珍藏版
python 在网易云搜索歌曲,得到歌曲ID,歌名等信息,可自行下载!相关推荐
- python网易云热歌榜歌曲信息爬取(iframe框架内数据爬取,src为空)
为一线医护人员加油! 为武汉加油! 为中国加油! 为世界加油! 此爬虫是本人参考了了一位前辈的文章,并修改和优化了代码: 1.改为python3环境: 2.优化了抓取的歌曲时长中带一长串小数的问题: ...
- python爬虫网易云音乐评论最多的歌_Python网易云音乐评论爬虫,歌曲的全部评论...
用过网易云音乐听歌的朋友都知道,网易云音乐每首歌曲后面都有很多评论,热门歌曲的评论更是接近百万或者是超过百万条.现在我就来分享一下如何爬取网易云音乐歌曲的全部评论,由于网易云音乐的评论都做了混淆加密处 ...
- python爬取网易云音乐生成王力宏歌曲词云
python爬取网易云音乐生成王力宏歌曲词云 # -*- coding:utf-8 -*- # 网易云音乐,通过歌手id生成词云 import requests import sys,re,os fr ...
- 用python爬取网易云评论10w+的歌曲名_Python爬取网易云音乐评论热门歌曲和ID
一.构造歌手个人主页的URL 前段时间我们获取了网易云音乐全部歌手的id号,今天我们就利用全部歌手的id号来构造歌手个人主页的URL,从而实现用爬取全部歌手的热门歌曲及其id号的目的.以歌手 薛之谦的 ...
- 用python爬取网易云评论10w+的歌曲名_Python3爬取网易云音乐评论
|下载W3Cschool手机App,0基础随时随地学编程>>戳此了解| 导语 利用Python为自己喜欢的音乐制作专属词云.至于词的来源嘛,当然是对应歌曲的所有评论或者热门评论啦!!!毕竟 ...
- 树莓派4B命令行安装网易云音乐播放在线歌曲
手把手教你在树莓派上配置网易云音乐播放在线歌曲 0 鸣谢 首先鸣谢github上的开源贡献者ZHANG RT为我们开发如此优秀的脚本Free Free Free 感谢为MusicBox的开发付出过努力 ...
- java爬虫实战(3):网易云音乐评论,歌曲,歌单,歌词下载
java爬虫实战(3):网易云音乐评论,歌曲,歌单,歌词下载 *本实战仅作为学习和技术交流使用,转载请注明出处: *此文章很早便在草稿箱中,由于编写时事情较多,临时中断,现暂时发表,后续补上(2019 ...
- 大数据信息资料采集:网易云音乐QQ音乐歌曲基本信息及评论采集爬虫
大数据信息资料采集:网易云音乐QQ音乐歌曲基本信息及评论采集 数据采集满足多种业务场景:适合产品.运营.销售.数据分析.政府机关.电商从业者.学术研究等多种身份职业. 舆情监控:全方位监测公开信息,抢 ...
- Python的网易云音乐数据分析系统 爬虫 echarts可视化 Flask框架 音乐推荐系统 源码下载
Python的网易云音乐数据分析系统 爬虫 echarts可视化 Flask框架 音乐推荐系统 一.技术说明 网易云音乐数据(歌单.用户.歌词.评论)Python爬取Flask框架搭建ECharts. ...
最新文章
- 63.不同的路径II
- 如果提高声音测距的分辨率?
- vim在退出时,处理隐藏缓冲区的方式
- android viewflipper图片轮播,使用ViewFlipper实现图片轮播
- 程序员一夜暴富捷径?不,别被轻易骗进“独角兽”
- mysql截取栏目字符_substring从指定字符串开始截取(图)
- SqlServer-COMPUTE BY
- PWN-PRACTICE-BUUCTF-16
- node开发命令行脚本
- android学习十三(android的通知使用)
- Java抽象类(Abstract Class)与接口(Interface)区别
- 掌握搜索引擎优化方法使关键词快速排名
- Excel - Office Excel 多表无法多窗口问题
- 数学概念: 导数和切线方程
- Windows 技术篇-修改hosts添加域名解析实例演示,设置域名指定ip方法
- Rust之crate
- 网络131黄宇倩--第二周作业
- 求薪水最高的第6到第10个人
- 使用jQuery仿制网易云音乐移动端
- linux 编译安装TRMPdump(libRTMP)