15行Python代码搞定网易云热门歌单

栏目: Python · 发布时间: 4年前

内容简介:马上314情人节就要来了,是否需要一首歌来抚慰你,受伤或躁动的心灵。来吧,今天教你用15行代码搞定热门歌单。学起来并听起来吧。本文使用的是Selenium模块,它是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等等操作,对于一些 JavaScript 渲染的页面来说,此种抓取方式非常有效。另外采用了Chrome浏览器配合Selenium工作。操作系统:Windows

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行 <a href='https://www.codercto.com/topics/20097.html'>Python</a> 代码搞定网易云热门歌单

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专栏 」,后台回复: zsxq02 ,获取本文全部代码

15行Python代码搞定网易云热门歌单


以上所述就是小编给大家介绍的《15行Python代码搞定网易云热门歌单》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

软件架构设计

软件架构设计

温昱 / 电子工业出版社 / 2012-7 / 39.00元

《软件架构设计:程序员向架构师转型必备(第2版)》围绕“软件架构设计”主题,从“程序员”成长的视角,深入浅出地讲述了架构师的修炼之道。从“基础篇”、到“设计过程篇”、到“模块划分专题”,《软件架构设计:程序员向架构师转型必备(第2版)》覆盖了架构设计的关键技能项,并且对于架构设计过程中可能出现的各种问题给与了解答。一起来看看 《软件架构设计》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试