配置基础

Python

Selenium

Chrome浏览器(其它的也可以,需要进行相应的修改)

分析

如果爬取过网易云的网站的小伙伴都应该知道网易云是有反爬取机制的,POST时需要对一些信息的参数进行加密函数的模拟。但是这里为了简便,小白也能理解。直接使用了Selenium来模拟登录,然后使用接口来直接下载音乐和歌词。

实验步骤:

根据歌手ID获取该歌手的热门歌曲列表,歌曲名称和链接,并保存到csv文件中;

读取csv文件,根据歌曲链接,提取歌曲ID,然后利用相应的接口,下载音乐和歌词;

将音乐和歌词保存到本地。

Python实现

该部分将对几个关键的函数进行介绍...

获取歌手信息

利用Selenium我们就不需要看对网页的请求了,直接可以从网页源码中提取相应的信息。查看歌手页面源码可以发现,我们需要的信息在iframe框架内,所以我们先需要切换到iframe:

browser.switch_to.frame('contentFrame')

继续往下看,发现我们需要的歌曲名字和链接是在id="hotsong-list"的标签中,然后每一行对应的是一个tr标签。所以先获取所有的tr内容,然后遍历单个tr。

data = browser.find_element_by_id("hotsong-list").find_elements_by_tag_name("tr")

注意:前一个是find_element,后一个是find_elements,后者返回一个列表。

接下来就是解析单个tr标签的内容,获取歌曲名字和链接,可以发现两者在class="txt"标签中,而且链接是href属性,名字是title属性,可以直接通过get_attribute()函数获取。

下载歌词

网易云有个获取歌词的接口,链接为:http://music.163.com/api/song...

链接中的数字就是歌曲的id,所以我们拥有歌曲id后,可以直接从该链接下载歌词,歌词文件是json格式,所以我们需要用到json包。

而且直接获取的歌词中,每行有一个时间轴,需要用正则表达式来剔除,完整代码如下:

下载音频

网易云也提供了音频文件的接口,链接为:http://music.163.com/song/med...

链接中的数字为歌曲的id,可以直接根据歌曲的id来下载音频文件。完整代码如下:

python 录制网易云登陆_小白都能看懂:Python爬取网易云音乐下载教程相关推荐

  1. python网易云收费_小白都能学会的Python爬虫网易云音乐

    配置基础 python Selenium Chrome浏览器(其它的也可以,需要进行相应的修改) 分析 如果爬取过网易云的网站的小伙伴都应该知道网易云是有反爬取机制的,POST时需要对一些信息的参数进 ...

  2. 黑苹果电池电量补丁_小白都能看懂的DSDT电量显示补丁教程

    [TOC] 简介 知识储备DSDT 正则匹配(不懂就依葫芦画瓢) 背景 由于普通PC的电池设备并不兼容与苹果的SMbus设备,所以,对于黑苹果,只能够通过ACPI来获取电池状态.为了解决电量显示我可是 ...

  3. snmp的团体名配置_小白都能看懂的Linux系统下安装配置Zabbix

    实验环境: 操作系统:Centos 7.6 服务器ip:192.168.10.100 运行用户:root 网络环境:Internet Zabbix是一个基于web界面的提供分布式系统监控及网络功能的企 ...

  4. 小白都能看懂的实战教程 手把手教你Python Web全栈开发(DAY 3)

    小白都能看懂的实战教程 手把手教你Python Web全栈开发 Flask(Python Web)实战系列之在线论坛系统 第三讲 这是小白都能看懂的实战教程 手把手教你Python Web全栈开发 的 ...

  5. 小白都能看懂的实战教程 手把手教你Python Web全栈开发(DAY 1)

    小白都能看懂的实战教程 手把手教你Python Web全栈开发 Flask(Python Web)实战系列之在线论坛系统 第一讲 博主博客文章内容导航(实时更新) 更多优质文章推荐: 收藏!最详细的P ...

  6. 随机森林的特征 是放回抽样么_机器学习超详细实践攻略(10):随机森林算法详解及小白都能看懂的调参指南...

    一.什么是随机森林 前面我们已经介绍了决策树的基本原理和使用.但是决策树有一个很大的缺陷:因为决策树会非常细致地划分样本,如果决策树分得太多细致,会导致其在训练集上出现过拟合,而如果决策树粗略地划分样 ...

  7. c语言程序和plc程序的区别,一文告诉你PLC与计算机的本质区别在哪里!小白都能看懂!...

    原标题:一文告诉你PLC与计算机的本质区别在哪里!小白都能看懂! 你真的了解PLC吗?你知道PLC与计算机的本质区别吗?我来简单解释一下吧. 1.PLC可以工作在极其恶劣的电磁环境中 如果我们把计算机 ...

  8. 红色买绿色出 简单易操作的买卖点公式 散户小白都能看懂

    好久没来csdn了,在最初,CSDN是用来记录我做前端写的笔记,后面在工作期间,接触了产品,就转岗了,慢慢的,csdn就很少写了,但是我觉得这里可以作为我记录心得的一个地方,还是挺好的. 因为产品规划 ...

  9. 兄弟,用大白话告诉你小白都能看懂的Hadoop架构原理

    本文来自:石杉的架构笔记 目录 一.前奏 二.HDFS的NameNode架构原理 一.前奏 Hadoop是目前大数据领域最主流的一套技术体系,包含了多种技术. 包括HDFS(分布式文件系统),YARN ...

最新文章

  1. 楚天高速拟12.6亿并购三木智能 涉足物联网领域
  2. 免费教材丨第48期:业界大牛中文教学视频《深度学习:进阶》第25-28讲
  3. JVM笔记 3 3 垃圾回收算法
  4. 设计模式--迭代器(Iterator)模式
  5. 数据库建立索引、数据表创建规则、备用字段 / 保留字段 / 预留字段
  6. 2020-09-26
  7. 基于keepalived 实现VIP转移,lvs,nginx的高可用
  8. Linux Linux程序练习九
  9. ssd训练时提示:Cannot copy param 0 weights from 'xxxx',以及提示No module named caffe.proto,推理时设置GPU模式
  10. Linux 中断学习之小试牛刀篇---Linux中断内核编程
  11. 文件已被其他应用程序锁定该怎么解决
  12. android开发中常用的Eclipse快捷键详细整理
  13. hp台式计算机u盘启动设置,hp惠普品牌机设置u盘启动教程
  14. go语法 — 多路选择操作符 select的用法
  15. Git down代码简易操作手册
  16. 2020-12.24 用SURF实现简易的两张图像拼接
  17. 【CPU占用高】software_reporter_tool.exe
  18. 排序算法lowB三人组
  19. 使用TensorFlow搭建智能开发系统,自动生成App UI代码
  20. List集合关于Stream的操作

热门文章

  1. 7-2 修理牧场 (25 分)
  2. Spark案例实战教程
  3. 6.4(反向显示一个整数)
  4. winform中listview选中整行_Excel办公实操,操作区域的3大小技巧,办公中的你使用过吗...
  5. 2021年SWPUACM暑假集训day3最小生成树算法
  6. maven jersey mysql_使用Maven和Jersey Framework开发REST风格Web Service
  7. python ssl模块安装_在Windows上安装Python的SSL模块(2.5.4)
  8. [tensorflow]win 环境 安装anacoda 4.8.2 和tensorflow 2.1.0
  9. lr中错误解决方法(收集)
  10. hdu4292 Food 最大流