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中文问题解决方法(总结了多位前人经验,初学者必看)
Mar 13 Python
python使用PyFetion来发送短信的例子
Apr 22 Python
Python的ORM框架SQLObject入门实例
Apr 28 Python
Python通过PIL获取图片主要颜色并和颜色库进行对比的方法
Mar 19 Python
讲解Python中if语句的嵌套用法
May 14 Python
python导入模块交叉引用的方法
Jan 19 Python
Python实现的统计文章单词次数功能示例
Jul 08 Python
python 自定义装饰器实例详解
Jul 20 Python
python读取ini配置的类封装代码实例
Jan 08 Python
基于Pyinstaller打包Python程序并压缩文件大小
May 28 Python
Python爬虫实现HTTP网络请求多种实现方式
Jun 19 Python
Python数据可视化实现多种图例代码详解
Jul 14 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中定义数组常量(array常量)的方法
2014/11/17 PHP
PHP扩展开发教程(总结)
2015/11/04 PHP
PHP版本常用的排序算法汇总
2015/12/20 PHP
PHP使用pear实现mail发送功能 windows环境下配置pear
2016/04/15 PHP
orm获取关联表里的属性值
2016/04/17 PHP
php生成二维码图片方法汇总
2016/12/17 PHP
PHP针对redis常用操作实例详解
2019/08/17 PHP
javascript实现全局匹配并替换的方法
2015/04/27 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
2015/10/23 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
浅析jQuery操作select控件的取值和设值
2016/12/07 Javascript
javascript实现根据函数名称字符串动态执行函数的方法示例
2016/12/28 Javascript
原生js实现弹出层效果
2017/01/20 Javascript
JavaScript的六种继承方式(推荐)
2017/06/26 Javascript
Vue下滚动到页面底部无限加载数据的示例代码
2018/04/22 Javascript
记录一次完整的react hooks实践
2019/03/11 Javascript
jquery实现的分页显示功能示例
2019/08/23 jQuery
vue实现分页的三种效果
2020/06/23 Javascript
如何在node环境实现“get数据解析”代码实例
2020/07/03 Javascript
[02:27]2014DOTA2国际邀请赛 VG赛后采访:更大的挑战在等着我们
2014/07/13 DOTA
Python 判断是否为质数或素数的实例
2017/10/30 Python
python3.6.3+opencv3.3.0实现动态人脸捕获
2018/05/25 Python
celery4+django2定时任务的实现代码
2018/12/23 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
python 应用之Pycharm 新建模板默认添加编码格式-作者-时间等信息【推荐】
2019/06/17 Python
Python 单例设计模式用法实例分析
2019/09/23 Python
使用celery和Django处理异步任务的流程分析
2020/02/19 Python
Python request中文乱码问题解决方案
2020/09/17 Python
HTML5如何为形状图上颜色怎么绘制具有颜色和透明度的矩形
2014/06/23 HTML / CSS
意大利买卖二手奢侈品网站:LAMPOO
2020/06/03 全球购物
大学同学聚会邀请函
2014/01/19 职场文书
九年级化学教学反思
2014/01/28 职场文书
《爱如茉莉》教后反思
2014/04/12 职场文书
社会公德演讲稿
2014/05/20 职场文书
Springboot如何使用logback实现多环境配置?
2021/06/16 Java/Android
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers