15行Python代码实现网易云热门歌单实例教程


Posted in Python onMarch 10, 2019

0. 引言

马上314情人节就要来了,是否需要一首歌来抚慰你,受伤或躁动的心灵。来吧,今天教你用15行代码搞定热门歌单。学起来并听起来吧。

本文使用的是Selenium模块,它是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等等操作,对于一些 JavaScript 渲染的页面来说,此种抓取方式非常有效。另外采用了Chrome浏览器配合Selenium工作。

下面话不多说了,来一起看看详细的介绍吧

1. 环境

操作系统:Windows

Python版本:3.7.2

2. 准备工作

a. 若你的环境中没有selenium模块,直接使用pip安装即可。

pip install selenium

b. 打开谷歌浏览器,检查Chrome的版本:在浏览器地址中输入 chrome://settings/help 回车即可看到。

15行Python代码实现网易云热门歌单实例教程

c. 打开ChromeDriver 的官方网站:
https://sites.google.com/a/ch...
寻找与你当前浏览器版本相对应的ChromeDriver下载。

15行Python代码实现网易云热门歌单实例教程

d. 选择你自己的操作系统类型进行下载即可。

15行Python代码实现网易云热门歌单实例教程

e. 以Windows为例,下载结束后,将ChromeDriver 放置在python安装目录下的Scripts文件夹即可。

15行Python代码实现网易云热门歌单实例教程

准备工作完成,代码写起来吧~

3. 迷你爬虫的实现

我们这次的目标是爬取热门歌单,比如网易云音乐中播放量大于1000万的歌单信息(歌单名称、链接)。

a. 我们先来打开网易云的歌单第一页:
https://music.163.com/#/disco...

b. 使用Chrome的开发者工具<F12>进行分析。

15行Python代码实现网易云热门歌单实例教程

我们想要拿的信息全在这里:

  • msk,封面[mask]:有歌单的名称及链接
  • nb,播放数[number broadcast]:135万

c. 我们还需要遍历所有的页,使用工具继续分析,找到“下一页”的URL。

15行Python代码实现网易云热门歌单实例教程

d. 切换至最后一页,拿到最后一页的URL。

15行Python代码实现网易云热门歌单实例教程

e. 等我们爬取完所有符合的歌单信息后,将其保存在本地。

f. 全部工作结束,最后再通过下面的伪代码回顾下整体思路。

15行Python代码实现网易云热门歌单实例教程

g. 爬取的效果如下:

15行Python代码实现网易云热门歌单实例教程

4. 总结

本文旨在安抚你因情人节受伤的小心灵,同时带你入个爬虫的门,感受下python的强大。

好了,以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Python 相关文章推荐
Python字符串处理之count()方法的使用
May 18 Python
Python2.x利用commands模块执行Linux shell命令
Mar 11 Python
Python中执行存储过程及获取存储过程返回值的方法
Oct 07 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
Feb 10 Python
python 简单照相机调用系统摄像头实现方法 pygame
Aug 03 Python
Anaconda下配置python+opencv+contribx的实例讲解
Aug 06 Python
关于不懂Chromedriver如何配置环境变量问题解决方法
Jun 12 Python
python读取mysql数据绘制条形图
Mar 25 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
May 13 Python
python 6行代码制作月历生成器
Sep 18 Python
Python还能这么玩之用Python修改了班花的开机密码
Jun 04 Python
Python操作CSV格式文件的方法大全
Jul 15 Python
Python如何爬取实时变化的WebSocket数据的方法
Mar 09 #Python
浅谈python的深浅拷贝以及fromkeys的用法
Mar 08 #Python
Python高级特性与几种函数的讲解
Mar 08 #Python
Python I/O与进程的详细讲解
Mar 08 #Python
举例讲解Python常用模块
Mar 08 #Python
python re库的正则表达式入门学习教程
Mar 08 #Python
opencv与numpy的图像基本操作
Mar 08 #Python
You might like
php xml文件操作代码(一)
2009/03/20 PHP
php4与php5的区别小结(配置异同)
2011/12/20 PHP
php中一个有意思的日期逻辑处理
2012/03/25 PHP
input file获得文件根目录简单实现
2013/04/26 PHP
浅析php变量修饰符static的使用
2013/06/28 PHP
thinkphp3.2.0 setInc方法 源码全面解析
2018/01/29 PHP
php使用mysqli和pdo扩展,测试对比mysql数据库的执行效率完整示例
2019/05/09 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
js与jquery中获取当前鼠标的x、y坐标位置的代码
2011/05/23 Javascript
js弹出层之1:JQuery.Boxy (二)
2011/10/06 Javascript
jQuery实现3D文字特效的方法
2015/03/10 Javascript
Javascript获取表单名称(name)的方法
2015/04/02 Javascript
IScroll5 中文API参数说明和调用方法
2016/05/21 Javascript
js不间断滚动的简单实现
2016/06/03 Javascript
Angularjs 实现分页功能及示例代码
2016/09/14 Javascript
jQuery事件对象总结
2016/10/17 Javascript
Vue结合原生js实现自定义组件自动生成示例
2017/01/21 Javascript
js禁止浏览器的回退事件
2017/04/20 Javascript
基于cropper.js封装vue实现在线图片裁剪组件功能
2018/03/01 Javascript
javascript中可能用得到的全部的排序算法
2020/03/05 Javascript
python海龟绘图实例教程
2014/07/24 Python
Python实现将一个正整数分解质因数的方法分析
2017/12/14 Python
Python3 利用requests 库进行post携带账号密码请求数据的方法
2018/10/26 Python
python matplotlib如何给图中的点加标签
2019/11/14 Python
Python获取统计自己的qq群成员信息的方法
2019/11/15 Python
使用Python发现隐藏的wifi
2020/03/04 Python
Python 如何反方向迭代一个序列
2020/07/28 Python
通过代码实例了解Python sys模块
2020/09/14 Python
matplotlib设置颜色、标记、线条,让你的图像更加丰富(推荐)
2020/09/25 Python
AJAX都有哪些有点和缺点
2012/11/03 面试题
Shell脚本如何向终端输出信息
2014/04/25 面试题
爱岗敬业演讲稿范文
2014/01/14 职场文书
手工社团活动方案
2014/02/17 职场文书
药店营业员岗位职责
2015/04/14 职场文书
2016关于军训的心得体会
2016/01/11 职场文书
《将心比心》教学反思
2016/02/23 职场文书