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自定义解析简单xml格式文件的方法
May 11 Python
详解python开发环境搭建
Dec 16 Python
python实现两个文件合并功能
Apr 01 Python
解决Matplotlib图表不能在Pycharm中显示的问题
May 24 Python
详解Python并发编程之创建多线程的几种方法
Aug 23 Python
TensorFlow 读取CSV数据的实例
Feb 05 Python
Python 为什么推荐蛇形命名法原因浅析
Jun 18 Python
教你如何使用Python Tkinter库制作记事本
Jun 10 Python
PyQt5实现多张图片显示并滚动
Jun 11 Python
Python字典的基础操作
Nov 01 Python
Python如何让字典保持有序排列
Apr 29 Python
Python实现仓库管理系统
May 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
星际原理概述
2020/03/04 星际争霸
php通过array_shift()函数移除数组第一个元素的方法
2015/03/18 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
PHP Ajax跨域问题解决方案代码实例
2020/08/01 PHP
php实现简单四则运算器
2020/11/29 PHP
js 关键词高亮(根据ID/tag高亮关键字)案例介绍
2013/01/21 Javascript
JS两种定义方式的区别、内部原理
2013/11/21 Javascript
jquery实现页面虚拟键盘特效
2015/08/08 Javascript
JavaScript实现动态删除列表框值的方法
2015/08/12 Javascript
基于JavaScript实现带缩略图的轮播效果
2017/01/12 Javascript
详谈Angular 2+ 的表单(一)之模板驱动型表单
2017/04/25 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
2020淘宝618理想生活列车自动领喵币js脚本的代码
2020/06/02 Javascript
学前端,css与javascript重难点浅析
2020/06/11 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
[00:19]CN DOTA NEVER DIE!VG夺冠rOtK接受采访
2019/12/23 DOTA
python重试装饰器示例
2014/02/11 Python
使用Python判断IP地址合法性的方法实例
2014/03/13 Python
Python使用Django实现博客系统完整版
2020/09/29 Python
python能做什么 python的含义
2019/10/12 Python
python保留小数位的三种实现方法
2020/01/07 Python
基于CSS3 animation动画属性实现轮播图效果
2017/09/12 HTML / CSS
纯HTML5+CSS3制作生日蛋糕(代码易懂)
2016/11/16 HTML / CSS
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
美国休闲服装品牌:J.Crew Factory
2017/03/04 全球购物
英国家喻户晓的高街品牌:River Island
2017/11/28 全球购物
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
如何在.net Winform里面显示PDF文档
2012/09/11 面试题
20年同学聚会邀请函
2014/02/04 职场文书
小班重阳节活动方案
2014/02/08 职场文书
企业介绍信范文
2015/01/30 职场文书
泰山导游词
2015/02/02 职场文书
教师求职自荐信范文
2015/03/04 职场文书
2015年加油站站长工作总结
2015/05/27 职场文书
详解Android中的TimePickerView(时间选择器)的用法
2022/04/30 Java/Android