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

640?wx_fmt=gif

 

640?wx_fmt=jpeg

作者 | 上海小胖

责编 | 伍杏玲

【程序人生 编者按】敲代码的时候想听点歌,但不知道听点啥?程序员当然用程序员的招儿了,只需15行Python代码搞定热门歌单,一起来看看吧。

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

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

 

640?wx_fmt=png

 

准备工作

 

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

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

  3. 打开ChromeDriver 的官方网站,寻找与你当前浏览器版本相对应的ChromeDriver,选择你自己的操作系统类型进行下载即可。

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

640?wx_fmt=png

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

 

 

640?wx_fmt=png

迷你爬虫的实现

 

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

1.先来打开网易云的歌单第一页,使用Chrome的开发者工具<F12>进行分析。

640?wx_fmt=png

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

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

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

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

640?wx_fmt=png

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

640?wx_fmt=png

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

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

 

640?wx_fmt=png

7.爬取的效果如下:

640?wx_fmt=png

 

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

源码:

https://github.com/MiracleYoung/You-are-Pythonista/tree/master/PythonExercise/Tool/Mini_Crawl

 Python入门必须知道的11个知识点!

https://edu.csdn.net/topic/python115?utm_source=cxrs_bw

640?wx_fmt=png

640?wx_fmt=jpeg

640?wx_fmt=gif

 热 文 推 荐  

☞ 工作 996,生病 ICU!这一次,程序员不忍了!

 Python 爬取 394452 条《都挺好》弹幕数据,发现弹幕比剧还精彩?

☞ 甜蜜暴击!程序员为媳妇儿做了个记录心情的小程序

☞ JavaScript 力压 Java 成最受欢迎编程语言,TypeScript 大涨!

☞ 14 岁编程神童?假的!

☞ NLP泰斗董振东老师与他的知网 | 纪念

☞ 现实!程序员只有跳槽才能涨薪吗?

☞ “V神给了我1000个ETH, 我用来招了两个程序员” 独立开发者做到极限就是Paul Hauner | 人物志

 

System.out.println("点个在看吧!");
console.log("点个在看吧!");
print("点个在看吧!");
printf("点个在看吧!\n");
cout << "点个在看吧!" << endl;
Console.WriteLine("点个在看吧!");
Response.Write("点个在看吧!");
alert("点个在看吧!")
echo "点个在看吧!"

640?wx_fmt=gif点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值