今天我来分享一下如何用python爬取网易云音乐歌曲的歌词,网易云音乐的歌词的爬取思路同前面介绍过的爬取网易云音乐的歌曲评论的爬取思路一致。由于两者的加密思路都是一致的,因此我们只需分析出被加密了的参数,再利用前面介绍到的方法便能爬取到网易云音乐的歌词,这里我顺便把大家爬取过程可能遇到的问题说一下。

一,分析Ajax请求

我就以Dream It Possible为例进行讲解,这首歌的URL:

https://music.163.com/#/song?id=38592976

打开这首歌所在的页面,再打开浏览器开发者工具,点击Network–再点击XHR,重新加载这个页面。我们会发现URL为https://music.163.com/weapi/song/lyric?csrf_token=的ajax请求的返回内容中包含了我们要爬取的歌词内容,这时如果你拿这个请求的表单数据(Form Data)去发起post请求,你会发现返回体中并没有内容。

二,分析加密参数

点击控制面板的source–右侧XHR/fetch Breakpoints,添加一个URL contains “https://music.163.com/weapi/song/lyric?csrf_token=”的断点,再点击重新加载,单步调试过去,找到window.asrsea()函数的第一个参数的形式是:

# id为歌曲的id号,后面的lv和tv都是固定值

# 加密得到的params的长度为108,不要拿浏览器控制面板中的数据进行测试,那里的params长度为128,不符合

{id: "38592976", lv: -1, tv: -1}

最后把这个参数加到我们前面爬取评论的加密函数中,利用加密得到的params(108位长)和encSecKey(256位长),我们便能获取到歌曲的歌词了。获取源代码

注意:不要拿浏览器控制面板中这个请求的表单数据进行测试,那里的params长度为128,不符合!

喜欢 (12)or分享 (0)

python网易云歌词爬虫_用python爬取网易云音乐歌曲的歌词相关推荐

  1. 【python爬虫自学笔记】-----爬取网易云歌单中歌曲歌词

    工具:python3.6 ,pycharm 个人歌单的链接地址为https://music.163.com/#/playlist?id=2251736705 开始对网页的内容进行爬取的时候,使用req ...

  2. Python爬虫之爬取酷狗音乐歌曲

    Python爬虫之爬取酷狗音乐歌曲 1.安装第三方库 在Python的语言库中, 分为Python标准库和Python的第三方库. Python标准库是在你安装Python的时候已经包含在了安装目录下 ...

  3. python爬音乐评论生成词云图_python爬虫+词云图,爬取网易云音乐评论

    又到了清明时节,用python爬取了网易云音乐<清明雨上>的评论,统计词频和绘制词云图,记录过程中遇到一些问题 爬取网易云音乐的评论 一开始是按照常规思路,分析网页ajax的传参情况.看到 ...

  4. python爬虫音乐图片的感受_python爬虫+词云图,爬取网易云音乐评论

    又到了清明时节,用python爬取了网易云音乐<清明雨上>的评论,统计词频和绘制词云图,记录过程中遇到一些问题 爬取网易云音乐的评论 一开始是按照常规思路,分析网页ajax的传参情况.看到 ...

  5. python爬取网易云评论最多的歌_python爬取网易云音乐评论

    本文实例为大家分享了python爬取网易云音乐评论的具体代码,供大家参考,具体内容如下 import requests import bs4 import json def get_hot_comme ...

  6. python应用市场app爬虫_【Python实战】Scrapy豌豆荚应用市场爬虫

    对于给定的大量APP,如何爬取与之对应的(应用市场)分类.描述的信息?且看下面分解. 1. 页面分析 当我们在豌豆荚首页搜索框输入微信后,会跳转到搜索结果的页面,其url为http://www.wan ...

  7. html5网易云歌词滚动,30行代码爬取网易云歌词(示例代码)

    需求分析: 利用爬虫获取网易云音乐歌曲的歌词,效果如下: 分析:通过官方的歌词API获取歌词,例如:访问https://music.163.com/#/song?id=1417093533 则会跳转到 ...

  8. Python爬虫入门——2. 2爬取酷狗音乐top1-500歌曲信息

    有了第一个程序的基础,我们现在来爬取酷狗音乐top500的歌曲信息.连接http://www.kugou.com/yy/rank/home/1-8888.html 我们第一个程序只爬取了一个页面的数据 ...

  9. 几十行代码实现Java爬虫,结合jsoup爬取网名昵称

    原文链接:点击打开链接 crawler4j是一个开源爬虫框架(https://github.com/yasserg/crawler4j), 我们可以使用它进行爬虫.以爬取 http://www.nib ...

  10. Python之手把手教你用JS逆向爬取网易云40万+评论并用stylecloud炫酷词云进行情感分析

    本文借鉴了@平胸小仙女的知乎回复 https://www.zhihu.com/question/36081767 写在前面: 文章有点长,操作有点复杂,需要代码的直接去文末即可.想要学习的需要有点耐心 ...

最新文章

  1. SQL-33 创建一个actor表,包含如下列信息
  2. react子组件向父组件传递数据实例
  3. 如何在验证集加噪声_如何使用Python构建机器学习模型
  4. java pollfirst_Java BlockingDeque pollFirst()用法及代码示例
  5. (转)[Cocoa]深入浅出 Cocoa 之 Framework
  6. Python基础——input交互功能
  7. 分布式事务处理--消息发送一致性的异常流程处理
  8. java的hashmap排序_java 中HashMap排序
  9. 阿里p6和p7的主要区别是什么?
  10. 计算机越学越难不想学了,“我今年大一,学的专业是计算机,真的快崩溃了,什么都不懂”...
  11. 03-CPU散片是什么意思?靠谱吗?散装CPU与盒装CPU有什么区别?
  12. c语言计时纳秒_如何利用rdtsc计算纳秒级的时间
  13. 几款科学计算显卡对比(GTX Titan X、GTX 980、Tesla K40 K80 及quadro K4200)
  14. 市场营销书籍推荐:《经理人参阅:市场营销》
  15. 地统计工具异常值查询和趋势分析
  16. 漫画 | 打死我也不学编译了!
  17. 判断元素是否为负无穷大numpy.isneginf()
  18. zData与持续优化 云和恩墨以创新获天安人寿供应商突出贡献奖
  19. C语言基础练习100--009(古典问题-兔子生崽)
  20. 【physX】physX 5.1的笔记1:初识

热门文章

  1. android java_Android开发和JAVA开发有什么区别?
  2. Origin 软件去除demo 水印
  3. 超智能体,tensorflow
  4. Unity 数字跳动抽奖,且每次数字不重复!
  5. C语言一个数组中随机抽取5个数字
  6. LINGO 18.0安装教程
  7. UNIQUE constraint failedの原因
  8. linux chmod 使用方法,linux中chmod命令的使用方法
  9. doc和docx、xls和xlsx、ppt和pptx有什么区别?
  10. 【数据结构 严蔚敏版】 链式栈基本操作