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学习笔记之常用函数及说明
May 23 Python
Python实现竖排打印传单手机号码易撕条
Mar 16 Python
浅析Python中的多进程与多线程的使用
Apr 07 Python
用Django实现一个可运行的区块链应用
Mar 08 Python
python字符串替换第一个字符串的方法
Jun 26 Python
如何在Django配置文件里配置session链接
Aug 06 Python
基于numpy中的expand_dims函数用法
Dec 18 Python
关于tensorflow的几种参数初始化方法小结
Jan 04 Python
Python版中国省市经纬度
Feb 11 Python
Python爬取网页信息的示例
Sep 24 Python
python 输入字符串生成所有有效的IP地址(LeetCode 93号题)
Oct 15 Python
Python接口自动化测试框架运行原理及流程
Nov 30 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
c#中的实现php中的preg_replace
2009/12/21 PHP
php编程实现获取excel文档内容的代码实例
2011/06/28 PHP
php中explode函数用法分析
2014/11/15 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
thinkPHP删除前弹出确认框的简单实现方法
2016/05/16 PHP
PHP创建XML接口示例
2019/07/04 PHP
laravel 关联关系遍历数组的例子
2019/10/10 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
2019/12/13 PHP
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
JS获取URL中的参数数据
2013/12/05 Javascript
Jquery设置attr的disabled属性控制某行显示或者隐藏
2014/09/25 Javascript
jquery实现叠层3D文字特效代码分享
2015/08/21 Javascript
Position属性之relative用法
2015/12/14 Javascript
ES6新特性一: let和const命令详解
2017/04/20 Javascript
解决Vue编译时写在style中的路径问题
2017/09/21 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
2017/09/26 Javascript
微信小程序外卖选购页实现切换分类与数量加减功能案例
2019/01/15 Javascript
JavaScript实现文件下载并重命名代码实例
2019/12/12 Javascript
详解python的几种标准输出重定向方式
2016/08/15 Python
在PyCharm环境中使用Jupyter Notebook的两种方法总结
2018/05/24 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
基于Python3.6+splinter实现自动抢火车票
2018/09/25 Python
Python3.5基础之函数的定义与使用实例详解【参数、作用域、递归、重载等】
2019/04/26 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
使用Django实现把两个模型类的数据聚合在一起
2020/03/28 Python
python使用nibabel和sitk读取保存nii.gz文件实例
2020/07/01 Python
python 多线程死锁问题的解决方案
2020/08/25 Python
Canvas 文字碰撞检测并抽稀的方法
2019/05/27 HTML / CSS
马德里著名的运动鞋商店:NOIRFONCE
2019/04/12 全球购物
文明村创建实施方案
2014/03/27 职场文书
敬老院献爱心活动总结
2014/07/08 职场文书
民主生活会剖析材料
2014/09/30 职场文书
2014年信息中心工作总结
2014/12/17 职场文书
寒假社会实践个人总结
2015/03/06 职场文书
作弊检讨书范文
2015/05/06 职场文书
一文搞懂redux在react中的初步用法
2021/06/09 Javascript