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调用shell的方法
Nov 20 Python
零基础写python爬虫之爬虫编写全记录
Nov 06 Python
利用Python的Django框架中的ORM建立查询API
Apr 20 Python
python通过ssh-powershell监控windows的方法
Jun 02 Python
Python实现的单向循环链表功能示例
Nov 10 Python
Python数据分析之双色球中蓝红球分析统计示例
Feb 03 Python
Python + selenium自动化环境搭建的完整步骤
May 19 Python
python操作excel文件并输出txt文件的实例
Jul 10 Python
python实现旋转和水平翻转的方法
Oct 25 Python
Python中collections模块的基本使用教程
Dec 07 Python
Django框架获取form表单数据方式总结
Apr 22 Python
Python 数据可视化神器Pyecharts绘制图像练习
Feb 28 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中关于socket的系列函数总结
2015/05/18 PHP
PHP实现简单的新闻发布系统实例
2015/07/28 PHP
thinkPHP5.0框架整体架构总览【应用,模块,MVC,驱动,行为,命名空间等】
2017/03/25 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
php抽象类和接口知识点整理总结
2019/08/02 PHP
PHP cookie与session会话基本用法实例分析
2019/11/18 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
打造基于jQuery的高性能TreeView(asp.net)
2011/02/23 Javascript
关于JavaScript的with 语句的使用方法
2011/05/09 Javascript
JQuery获取当前屏幕的高度宽度的实现代码
2011/07/12 Javascript
深入了解javascript中的prototype与继承
2013/04/14 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
javascript带回调函数的异步脚本载入方法实例分析
2015/07/02 Javascript
jQuery插件ImageDrawer.js实现动态绘制图片动画(附源码下载)
2016/02/25 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
JavaScript方法_动力节点Java学院整理
2017/06/28 Javascript
BootStrap Table复选框默认选中功能的实现代码(从数据库获取到对应的状态进行判断是否为选中状态)
2017/07/11 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
Vue动态获取width的方法
2018/08/22 Javascript
解析JS在获取当前月的最后一天遇到的坑
2019/08/30 Javascript
js+audio实现音乐播放器
2020/09/13 Javascript
python使用sorted函数对列表进行排序的方法
2015/04/04 Python
Python的__builtin__模块中的一些要点知识
2015/05/02 Python
python执行CMD指令,并获取返回的方法
2018/12/19 Python
关于python之字典的嵌套,递归调用方法
2019/01/21 Python
itchat-python搭建微信机器人(附示例)
2019/06/11 Python
python内置函数sorted()用法深入分析
2019/10/08 Python
Python matplotlib模块及柱状图用法解析
2020/08/10 Python
高性能装备提升营地:Kammok
2019/02/27 全球购物
在C#中如何实现多态
2014/07/02 面试题
培训讲师邀请函
2014/01/10 职场文书
客户服务经理岗位职责
2014/01/29 职场文书
党委书记个人检查对照材料思想汇报
2014/10/11 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
Vue-Element-Admin集成自己的接口实现登录跳转
2021/06/23 Vue.js
python中tkinter复选框使用操作
2021/11/11 Python