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 相关文章推荐
Eclipse + Python 的安装与配置流程
Mar 05 Python
Python3遍历目录树实现方法
May 22 Python
python从入门到精通(DAY 2)
Dec 20 Python
Python学习笔记之For循环用法详解
Aug 14 Python
Python3简单爬虫抓取网页图片代码实例
Aug 26 Python
python opencv将表格图片按照表格框线分割和识别
Oct 30 Python
Python使用docx模块实现刷题功能代码
Feb 13 Python
opencv 图像腐蚀和图像膨胀的实现
Jul 07 Python
利用python对excel中一列的时间数据更改格式操作
Jul 14 Python
Python如何绘制日历图和热力图
Aug 07 Python
如何使用Python调整图像大小
Sep 26 Python
如何在C++中调用Python
May 21 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 5昨天隆重推出--PHP 5/Zend Engine 2.0新特性
2006/10/09 PHP
php 获取完整url地址
2008/12/20 PHP
div移动 输入框不能输入的问题
2009/11/19 Javascript
关于js中window.location.href,location.href,parent.location.href,top.location.href的用法与区别
2010/10/18 Javascript
定义JavaScript二维数组采用定义数组的数组来实现
2012/12/09 Javascript
将页面table内容与样式另存成excel文件的方法
2015/08/05 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
JavaScript中的继承之类继承
2016/05/01 Javascript
Javascript+CSS3实现进度条效果
2016/10/28 Javascript
Layui表格监听行单双击事件讲解
2019/11/14 Javascript
Javascript生成器(Generator)的介绍与使用
2021/01/31 Javascript
[04:44]DOTA2英雄梦之声_第12期_矮人直升机
2014/06/21 DOTA
python操作xml文件示例
2014/04/07 Python
Python+MongoDB自增键值的简单实现
2016/11/04 Python
详解python中Numpy的属性与创建矩阵
2018/09/10 Python
Python列表(list)所有元素的同一操作解析
2019/08/01 Python
学习Python需要哪些工具
2020/09/04 Python
HTML5的结构和语义(4):语义性的内联元素
2008/10/17 HTML / CSS
LG西班牙网上商店:Tienda LG Online Es
2019/07/30 全球购物
伦敦香水公司:The London Perfume Company
2019/11/13 全球购物
结构和类有什么异同
2012/07/16 面试题
XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?
2016/01/12 面试题
《听鱼说话》教学反思
2014/02/15 职场文书
煤矿安全生产责任书
2014/04/15 职场文书
2014年煤矿工人工作总结
2014/12/08 职场文书
2014年绩效考核工作总结
2014/12/11 职场文书
先进基层党组织材料
2014/12/25 职场文书
导游词300字
2015/02/13 职场文书
税务会计岗位职责
2015/04/02 职场文书
任命通知范文
2015/04/21 职场文书
2015年小学总务工作总结
2015/07/21 职场文书
医院消毒隔离制度
2015/08/05 职场文书
XX部保密工作制度范本
2019/08/27 职场文书
详细了解java监听器和过滤器
2021/07/09 Java/Android
GTX1650super好不好 gtx1650super显卡属于什么级别
2022/04/08 数码科技
vue动态绑定style样式
2022/04/20 Vue.js