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获取系统默认字符编码的方法
Jun 04 Python
Python通过future处理并发问题
Oct 17 Python
python内置函数:lambda、map、filter简单介绍
Nov 16 Python
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
Apr 18 Python
python操作redis方法总结
Jun 06 Python
python3利用venv配置虚拟环境及过程中的小问题小结
Aug 01 Python
对python 匹配字符串开头和结尾的方法详解
Oct 27 Python
详解django中url路由配置及渲染方式
Feb 25 Python
解决python打开https出现certificate verify failed的问题
Sep 03 Python
Python实现敏感词过滤的4种方法
Sep 12 Python
Python中基础数据类型 set集合知识点总结
Aug 02 Python
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
Apr 06 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函数实现判断是否移动端访问
2015/03/03 PHP
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
浅谈javascript中自定义模版
2015/01/29 Javascript
jquery获取节点名称
2015/04/26 Javascript
纯javascript响应式树形菜单效果
2015/11/10 Javascript
原生js jquery ajax请求以及jsonp的调用方法
2017/08/04 jQuery
vue刷新和tab切换实例
2018/02/11 Javascript
JavaScript实用代码小技巧
2018/08/23 Javascript
基于vue.js组件实现分页效果
2018/12/29 Javascript
vue cli3 配置proxy代理无效的解决
2019/10/30 Javascript
vue实现鼠标移过出现下拉二级菜单功能
2019/12/12 Javascript
vue.js中使用微信扫一扫解决invalid signature问题(完美解决)
2020/04/11 Javascript
Vue发布订阅模式实现过程图解
2020/04/30 Javascript
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
Python常用内置函数总结
2015/02/08 Python
使用Python保存网页上的图片或者保存页面为截图
2016/03/05 Python
python爬虫使用cookie登录详解
2017/12/27 Python
Python基于Logistic回归建模计算某银行在降低贷款拖欠率的数据示例
2019/01/23 Python
Scrapy框架爬取西刺代理网免费高匿代理的实现代码
2019/02/22 Python
python中用logging实现日志滚动和过期日志删除功能
2019/08/20 Python
Python算法中的时间复杂度问题
2019/11/19 Python
Django项目基础配置和基本使用过程解析
2019/11/25 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
Python无损压缩图片的示例代码
2020/08/06 Python
斯凯奇美国官网:SKECHERS美国
2016/08/20 全球购物
国外平面设计第一市场:99designs
2016/10/25 全球购物
法院实习人员自我鉴定
2013/09/26 职场文书
任课老师推荐信范文
2013/11/24 职场文书
信息技术教学反思
2014/02/12 职场文书
2014年两会学习心得体会
2014/03/10 职场文书
个人贷款授权委托书样本
2014/10/07 职场文书
2014年为民办实事工作总结
2014/12/20 职场文书
巾帼文明岗事迹材料
2014/12/24 职场文书
2015年小学二年级班主任工作总结
2015/05/21 职场文书
使用pandas模块实现数据的标准化操作
2021/05/14 Python
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记