1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > 零基础如何用 15 行 Python 代码搞定网易云热门歌单?

零基础如何用 15 行 Python 代码搞定网易云热门歌单?

时间:2021-12-17 19:11:58

相关推荐

零基础如何用 15 行 Python 代码搞定网易云热门歌单?

健身、吃饭、敲代码;等车、撸猫、下午茶……若能佐以合适的音乐当“配餐”,总是惬意非常。本文就将带你爬一爬网易云的那些热门歌单!

作者 | 上海小胖

责编 | 仲培艺

心情好或心情坏,点一首歌抚慰你受伤或躁动的心灵——下面教你用 15 行代码搞定热门歌单!

本文使用的是 Selenium 模块,它是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的动作,如点击、下拉等操作,对于一些 JavaScript 渲染的页面来说,此种抓取方式非常有效。

采用了 Chrome 浏览器配合 Selenium 工作,本文的 Python 版本是 3.7.2。

准备工作

1. 若你的环境中没有 Selenium 模块,直接使用 pip 安装即可:

pip install selenium

2. 打开谷歌浏览器,检查Chrome的版本:在浏览器地址中输入 chrome://settings/help 回车即可看到:

3. 打开 ChromeDriver 的官方网站(/a//chromedriver/downloads),寻找与你当前浏览器版本相对应的 ChromeDriver 下载:

4. 选择你自己的操作系统类型进行下载即可:

5. 以 Windows 为例,下载结束后,将 ChromeDriver 放置在 Python 安装目录下的 Scripts 文件夹即可:

准备工作完成,代码写起来吧~

迷你爬虫的实现

我们这次的目标是爬取热门歌单,比如网易云音乐中播放量大于 1000万 的歌单信息(歌单名称、链接)。

1. 先来打开网易云的歌单第一页:

/#/discover/playlist/

2. 使用 Chrome 的开发者工具 <F12> 进行分析:

我们想要拿的信息全在这里:

msk,封面 [mask]:有歌单的名称及链接

nb,播放数 [number broadcast]:135万

3. 我们还需要遍历所有的页,使用工具继续分析,找到“下一页”的 URL:

4. 切换至最后一页,拿到最后一页的 URL:

5. 等我们爬取完所有符合的歌单信息后,将其保存在本地;

6.全部工作结束,最后再通过下面的伪代码回顾下整体思路:

7. 爬取的效果如下:

另附源码:/MiracleYoung/You-are-Pythonista/tree/master/PythonExercise/Tool/Mini_Crawl

作者简介:上海小胖,四大咨询的TechLead,mongoDB Professional 获得者。「Python专栏」专注Python领域的各种技术:爬虫、DevOps、人工智能、Web开发等。本文系作者投稿,版权归作者所有。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。