前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >python3爬取网易云音乐歌单里的歌词(含源码)

python3爬取网易云音乐歌单里的歌词(含源码)

作者头像
kalifa_lau
发布于 2018-04-28 06:39:58
发布于 2018-04-28 06:39:58
1.8K01
代码可运行
举报
文章被收录于专栏:kalifaの日々kalifaの日々
运行总次数:1
代码可运行

一些注意事项:

1.看了Coursera上面的python教程,里面给了一个非常简单的示例,只传一个url就获取到响应报文。然而很多网站是不能只通过一个url就响应请求的,你还需要填写报文头部也就是header部分。

2.得到的报文里面中文字符都是bytes,十六进制的格式,需要用utf-8解码

3.巧用控制台找到页面内容真实的网址

其余的注意点我都写在注释里了,完整源码如下:


代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
#爬取网易云音乐我的歌单里面所有歌曲的歌词
import json
import requests
import re
import urllib
from bs4 import *
url = "http://music.163.com/playlist?id=129816983"
headers = {"Host":" music.163.com",
"User-Agent":" Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0",
#不必要的header属性可能会影响响应报文的编码方式,所以把它们注释掉
#"Accept":" text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
#"Accept-Language":" zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
#"Referer":"http://music.163.com/",
#"Cookie": "JSESSIONID-WYYY=k52%2FPjMyNbX0v38jH2efUXwEIZpw2NagEUzwTX%2FgifMsoMswU6yo3NN%5C%2Bb9jCpsRFZIc6lvPUK9wEjgBzwM%2B1T%2FRyvRGHhqyWbdvEcugCbNqTihfxHK1el66fk%2BNntcSwGVOBMEwlcFDBusingcH76NIeAQwbC6h%5CcipxCdO8T5IfBVO%3A1510825875526; _iuqxldmzr_=32; _ntes_nnid=e5ec3ba6b841b9d3eadcb910066f4dcb,1510815153893; _ntes_nuid=e5ec3ba6b841b9d3eadcb910066f4dcb; __utma=94650624.1386008069.1510815154.1510815154.1510824076.2; __utmz=94650624.1510815154.1.1.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; __utmb=94650624.2.10.1510824076; __utmc=94650624",
#"Connection": "keep-alive",
#"Upgrade-Insecure-Requests": "1"
}
#只传url不能获得响应,需要传header
request = urllib.request.Request(url,headers=headers)
response = urllib.request.urlopen(request)
#不decode的话text是十六进制,不是中文
html = response.read().decode('utf-8','ignore')
soup = BeautifulSoup(html)
#打开1.txt 把歌单中的歌词写入
f=open('C:/Users/liuxu/Desktop/myfavoritesong.txt','w',encoding='utf-8')
for item in soup.ul.children:
    #取出歌单里歌曲的id  形式为:/song?id=11111111
    song_id = item('a')[0].get("href",None)
    #利用正则表达式提取出song_id的数字部分sid
    pat = re.compile(r'[0-9].*$')
    sid = re.findall(pat,song_id)[0]
    #这里的url是真实的歌词页面
    url = "http://music.163.com/api/song/lyric?"+"id="+str(sid)+"&lv=1&kv=1&tv=-1"
    html = requests.post(url)
    json_obj = html.text
    #歌词是一个json对象 解析它
    j = json.loads(json_obj)
    try:
        lyric = j['lrc']['lyric']
    except KeyError:
        lyric = "无歌词"
    pat = re.compile(r'\[.*\]')
    lrc = re.sub(pat,"",lyric)
    lrc = lrc.strip()
    #print(lrc)
    f.write(lrc)
f.close()

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.11.16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
【一起学Python】爬取网易云歌词
说在前面:这是公众号第一篇来自小伙伴的投稿。我之前挖过一个坑,说想抓取歌词以后做文本分析,后面不了了之了。刚好Ricky作为爬虫的初学者,需要小项目练手,他就把这件事接了过去,帮我填坑。作为初学者,做项目和做笔记是很重要的。Ricky把文章发给我后让我帮他改,我觉得其实每个人写文章风格不一样,有的人逗比,有的人严谨,只要能把事情讲清楚就好了。至于代码,只要能实现需求,我其实不在乎是Pythonic还是ugly。这也是一系列文章的第一篇,希望大家也能多多指点。 ▲ ▲ ▲ 接触python也有一段
不二小段
2018/04/08
1.5K0
【一起学Python】爬取网易云歌词
源码 | Python爬虫之网易云音乐下载
偶然的一次机会听到了房东的猫的《云烟成雨》,瞬间迷上了这慵懒的嗓音和学生气的歌词,然后一直去循环听她们的歌。然后还特意去刷了动漫《我是江小白》,好期待第二季…
昱良
2018/10/23
2.6K0
python爬虫抓取网易云音乐歌词
python爬虫库的选择 如果你已经了解一些python的基础,那不妨来搞点事情做,比如说做个爬虫,python的爬虫库相当的多,我建议初学者从requests库学起就好,为什么这么说,因为这个库对新手来说特别的友好,Requests 唯一的一个非转基因的 Python HTTP 库,人类可以安全享用。 安装requests库 要安装 Requests,只要在你的终端中运行这个简单命令即可:pip install requests,前提是你已经安装好pip了。 发送请求 一开始要导入 Requests 模块
企鹅号小编
2018/01/25
1.7K0
如何用 Python 爬取网易云音乐歌单
首先修改配置文件setting.py 1.关闭机器人协议 2.取消禁用cookie的功能
逆锋起笔
2021/05/18
2K0
如何用 Python 爬取网易云音乐歌单
Python网易云音乐爬虫进阶篇
年前写过一篇爬网易云音乐评论的文章,爬不了多久又回被封,所以爬下来那么点根本做不了什么分析,后面就再改了下,加入了多线程,一次性爬一个歌手最热门50首歌曲的评论,算是进阶版了~
Awesome_Tang
2018/09/11
2.8K0
Python网易云音乐爬虫进阶篇
爬取网易云音乐精彩评论
故事的小黄花 从出生那年就飘着 童年的荡秋千 随记忆一直晃到现在 Re So So Si Do Si La So La Si Si Si Si La Si La So 吹着前奏望着天空 我想起花瓣试着掉落 ……
猴哥yuri
2018/08/16
5360
Python爬虫 | 如何获取网易云音乐评论
今天看了知乎上的一个问答,关于如何爬取网易云音乐的评论 关于如何爬网易云音乐的评论 我发现,第一位大佬写的方法,嗯,确实看不懂(虽然不妨碍白嫖),然后我自己试了试,params和encSecKey直接F12+ctrlC/V复制的😂 """ 不按照大佬写的加密方法,只能获取第一页的评论/(ㄒoㄒ)/~~ """ import requests from bs4 import BeautifulSoup import json import time def get_song_html(url):
Justlovesmile
2021/12/14
1.2K0
Python爬虫 | 如何获取网易云音乐评论
[TextMatch框架] 生成词云
TextMatch is a semantic matching model library for QA & text search … It’s easy to train models and to export representation vectors.
MachineLP
2020/10/29
2K0
[TextMatch框架] 生成词云
Python 爬取张国荣最火的 8 首歌,60000 评论看完泪奔!
你走了16年了,那些当年在课桌前趁老师不注意偷偷听你歌的少年们,或许早已为人夫为人妇。
诸葛青云
2019/04/02
6700
Python 爬取张国荣最火的 8 首歌,60000 评论看完泪奔!
用Python分析许嵩的歌
是否还记得断桥残雪,一听就是一下午 是否还记得认错,上课前必点歌曲 是否还记得素颜,同桌那清秀的脸庞
罗罗攀
2019/07/10
1K0
用Python分析许嵩的歌
使用python3爬取网易云音乐的评论
用过很多播放器,之前一直是酷我,偶尔QQ。但是网易云音乐出来后毅然变成了他的忠实用户。精确推荐和乐评都很赞!安利了不少人入坑。前些日子网易云音乐将精选用户评论搬上了地铁,使网易云音乐又火了一把。因此就
听城
2018/04/27
9670
使用python3爬取网易云音乐的评论
爬取网易云音乐每日推荐歌单,然后定时自动发送到朋友邮箱
今天是我的第三个Python项目:每天自动定时、自动发送爬取的网易云音乐的推荐歌单到你的邮箱列表中。
double
2022/01/26
1.7K0
爬取网易云音乐每日推荐歌单,然后定时自动发送到朋友邮箱
爬取网易云音乐热歌榜:从入门到实战
在数字化时代,音乐已成为我们日常生活中不可或缺的一部分。网易云音乐以其丰富的音乐资源和个性化推荐系统,赢得了广大用户的喜爱。然而,你是否想过,如何将这些音乐资源爬取下来,以便在没有网络的情况下也能随时欣赏呢?本文将带你走进爬虫的世界,手把手教你如何爬取网易云音乐热歌榜。
LucianaiB
2025/05/28
1600
爬取网易云音乐热歌榜:从入门到实战
Python爬虫爬取网易云音乐全部评论
beautiful now.png 思路整理 访问网易云音乐单曲播放界面,我们可以看到当我们翻页的时候网址是没有变化的,这时候我们大致可以确定评论是通过post形式加载的; .
Awesome_Tang
2018/09/11
1.5K0
Python爬虫爬取网易云音乐全部评论
收藏这些API,获取网易云音乐数据超轻松
这应该是最最最常见的了,毕竟80%的网易云音乐的爬虫/数据分析文章都是关于评论数据~
朱小五
2019/11/26
18.8K0
[Python爬虫]中国新说唱 Skr~ Skr~
https://mp.weixin.qq.com/s/IiLGk1qk9IXv6XD96GODcg
abs_zero
2018/10/23
7270
[Python爬虫]中国新说唱 Skr~ Skr~
用Python爬取网易云音乐的用户评论文本
本文利用Python2.7根据网易云音乐歌曲ID爬取了该歌曲的所有用户评论数据。以id是28875120的歌曲《小岁月太着急》为示例,通过Chrome的DevTools工具获取已加密评论数据,然后基于
机器学习AI算法工程
2018/03/15
1.4K0
用Python爬取网易云音乐的用户评论文本
Python 获取网易云音乐热门评论
来源:lyrichu www.cnblogs.com/lyrichu/p/6635798.html 最近在研究文本挖掘相关的内容,所谓巧妇难为无米之炊,要想进行文本分析,首先得到有文本吧。获取文本的方式有很多,比如从网上下载现成的文本文档,或者通过第三方提供的API进行获取数据。但是有的时候我们想要的数据并不能直接获取,因为并不提供直接的下载渠道或者API供我们获取数据。那么这个时候该怎么办呢?有一种比较好的办法是通过网络爬虫,即编写计算机程序伪装成用户去获得想要的数据。利用计算机的高效,我们可以轻松快速
顶级程序员
2018/05/03
1.3K0
Python 获取网易云音乐热门评论
Python爬虫实战:网易云音乐爬取
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。
松鼠爱吃饼干
2020/11/19
4.3K0
Python爬虫实战:网易云音乐爬取
云函数采集架构:Serverless模式下的动态IP与冷启动优化
在 Serverless 架构中使用云函数进行网页数据采集,不仅能大幅降低运维成本,还能根据任务负载动态扩展。然而,由于云函数的无状态特性及冷启动问题,加上目标网站对采集行为的反制措施(如 IP 限制、Cookie 校验等),开发者在实践中往往会遇到不少挑战。下面将通过一个问题解决型(Problem-Solution)的案例,分享如何利用代理 IP 技术以及一系列优化措施,在 Serverless 模式下实现高效的采集任务。
jackcode
2025/04/16
1090
云函数采集架构:Serverless模式下的动态IP与冷启动优化
相关推荐
【一起学Python】爬取网易云歌词
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档