作者 | 上海小胖
责编 | 仲培艺
心情好或心情坏,点一首歌抚慰你受伤或躁动的心灵——下面教你用 15 行代码搞定热门歌单!

本文利用的是 Selenium 模块,它是一个自动化测试工具,利用它我们可以驱动浏览器实行特定的动作,如点击、下拉等操作,对付一些 JavaScript 渲染的页面来说,此种抓取办法非常有效。
采取了 Chrome 浏览器合营 Selenium 事情,本文的 Python 版本是 3.7.2。
准备事情
1. 若你的环境中没有 Selenium 模块,直策应用 pip 安装即可:
pip install selenium
2. 打开谷歌浏览器,检讨Chrome的版本:在浏览器地址中输入 chrome://settings/help 回车即可看到:
3. 打开 ChromeDriver 的官方网站(https://sites.google.com/a/chromium.org/chromedriver/downloads),探求与你当前浏览器版本相对应的 ChromeDriver 下载:
4. 选择你自己的操作系统类型进行下载即可:
5. 以 Windows 为例,下载结束后,将 ChromeDriver 放置在 Python 安装目录下的 Scripts 文件夹即可:
准备事情完成,代码写起来吧~
迷你爬虫的实现
我们这次的目标是爬取热门歌单,比如网易云音乐中播放量大于 1000万 的歌单信息(歌单名称、链接)。
1. 先来打开网易云的歌单第一页:
https://music.163.com/#/discover/playlist/
2. 利用 Chrome 的开拓者工具 <F12> 进行剖析:
我们想要拿的信息全在这里:
msk,封面 [mask]:有歌单的名称及链接
nb,播放数 [number broadcast]:135万
3. 我们还须要遍历所有的页,利用工具连续剖析,找到“下一页”的 URL:
4. 切换至末了一页,拿到末了一页的 URL:
5. 等我们爬取完所有符合的歌单信息后,将其保存在本地;
6.全部事情结束,末了再通过下面的伪代码回顾下整体思路:
7. 爬取的效果如下:
另附源码:https://github.com/MiracleYoung/You-are-Pythonista/tree/master/PythonExercise/Tool/Mini_Crawl
作者简介:上海小胖,四大咨询的TechLead,mongoDB Professional 得到者。「Python专栏」专注Python领域的各种技能:爬虫、DevOps、人工智能、Web开拓等。
本文系作者投稿,版权归作者所有。