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 相关文章推荐
在 Django/Flask 开发服务器上使用 HTTPS
Jul 03 Python
python如何通过protobuf实现rpc
Mar 06 Python
Django返回json数据用法示例
Sep 18 Python
详解python开发环境搭建
Dec 16 Python
numpy中的delete删除数组整行和整列的实例
May 09 Python
Tensorflow 训练自己的数据集将数据直接导入到内存
Jun 19 Python
python脚本当作Linux中的服务启动实现方法
Jun 28 Python
详解Python中的各种转义符\n\r\t
Jul 10 Python
PyTorch中的padding(边缘填充)操作方式
Jan 03 Python
Python正则re模块使用步骤及原理解析
Aug 18 Python
python入门教程之基本算术运算符
Nov 13 Python
Django 实现图片上传和下载功能
Dec 31 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设计模式 Prototype (原型模式)代码
2011/06/26 PHP
PHP内置的Math函数效率测试
2014/12/01 PHP
php查询mysql数据库并将结果保存到数组的方法
2015/03/18 PHP
PHP去掉json字符串中的反斜杠\及去掉双引号前的反斜杠
2015/09/30 PHP
PHP 极验验证码实例讲解
2016/09/29 PHP
PHP有序表查找之二分查找(折半查找)算法示例
2018/02/09 PHP
为Plesk PHP7启用Oracle OCI8扩展方法总结
2019/03/29 PHP
Flash+XML滚动新闻代码 无图片 附源码下载
2007/11/22 Javascript
编写高性能的JavaScript 脚本的加载与执行
2010/04/19 Javascript
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
鼠标经过显示二级菜单js特效
2013/08/13 Javascript
jquery得到font-size属性值实现代码
2013/09/30 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
2016/08/02 Javascript
ES6通过babel转码使用webpack使用import关键字
2016/12/13 Javascript
走进javascript——不起眼的基础,值和分号
2017/02/24 Javascript
Vue键盘事件用法总结
2017/04/18 Javascript
详谈for循环里面的break和continue语句
2017/07/20 Javascript
javascript填充默认头像方法
2018/02/22 Javascript
Angular4集成ng2-file-upload的上传组件
2018/03/14 Javascript
JS canvas绘制五子棋的棋盘
2020/05/28 Javascript
node.js微信小程序配置消息推送的实现
2019/02/13 Javascript
详解vue中this.$emit()的返回值是什么
2019/04/07 Javascript
vue-cli3中vue.config.js配置教程详解
2019/05/29 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
Python 200行代码实现一个滑动验证码过程详解
2019/07/11 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
2020/02/19 Python
Python 如何批量更新已安装的库
2020/05/26 Python
pytorch 多分类问题,计算百分比操作
2020/07/09 Python
python自动从arxiv下载paper的示例代码
2020/12/05 Python
建筑学推荐信
2013/11/03 职场文书
党员承诺书内容
2014/03/26 职场文书
《小鹰学飞》教学反思
2014/04/23 职场文书
电子工程求职信
2014/07/17 职场文书
教师职业道德事迹材料
2014/08/18 职场文书
水利专业大学生职业生涯规划书范文
2014/09/17 职场文书
面试自我评价范文
2014/09/17 职场文书