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

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

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



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

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

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

准备工作

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

pip install selenium

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

1240

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

1240

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

1240

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

1240

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



小编给大家推荐一个学习氛围超好的地方,python交流企鹅裙:【611+530+101】适合在校大学生,小白,想转行,想通过这个找工作的加入。裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直播课程


迷你爬虫的实现

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

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

https://music.163.com/#/discover/playlist/

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

1240

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

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

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

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

1240

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

1240

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


1240

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

1240

7. 爬取的效果如下:

1240
相关文章
|
4天前
|
设计模式 开发框架 缓存
探索Python中的装饰器:简化代码,增强功能
【9月更文挑战第16天】在Python的世界里,装饰器宛如一位巧手魔术师,轻轻一挥魔杖,便能让我们的函数和类焕发新生。本文将带你领略装饰器的魔力,从基础概念到实战应用,一步步解锁装饰器的强大潜能。让我们一起踏上这段奇妙的旅程,探索如何用装饰器简化代码,增强功能。
|
6天前
|
XML 数据格式 Python
Python技巧:将HTML实体代码转换为文本的方法
在选择方法时,考虑到实际的应用场景和需求是很重要的。通常,使用标准库的 `html`模块就足以满足大多数基本需求。对于复杂的HTML文档处理,则可能需要 `BeautifulSoup`。而在特殊场合,或者为了最大限度的控制和定制化,可以考虑正则表达式。
21 12
|
4天前
|
测试技术 Python
Python中的装饰器:简化代码的魔法
【9月更文挑战第16天】在Python编程的世界里,装饰器就像是一把瑞士军刀,它们为函数和类赋予了额外的超能力。本文将带你探索装饰器的秘密,了解如何利用这一工具来简化代码、增强可读性并提升效率。从基础概念到实际案例,我们将一步步揭示装饰器的神秘面纱,让你的代码更加优雅和强大。
|
3天前
|
设计模式 缓存 开发者
探索Python中的装饰器:提升代码复用性的利器
本文深入探讨了Python中强大的装饰器功能,揭示了其如何通过元编程和闭包等技术手段,优雅地实现代码的复用与扩展。从基本概念到高级应用,我们将一步步揭开装饰器背后的奥秘,并通过实例展示其在实际项目开发中的巨大价值。无论是想要简化函数调用流程、增强函数功能,还是实现AOP(面向切面编程),掌握装饰器都是每位Python开发者必备的技能。
|
5天前
|
缓存 开发者 Python
探索Python中的装饰器:简化代码,增强功能
【9月更文挑战第15天】本文将深入探讨Python中一个强大但常被误解的特性——装饰器。我们将从基础概念出发,逐步揭示装饰器如何简化代码结构,增加函数功能而无需修改其核心逻辑。通过具体示例,你将学会如何创建自定义装饰器,以及如何利用它们来管理权限、记录日志等。无论你是初学者还是有经验的开发者,这篇文章都将为你打开一扇提高代码效率和可维护性的新窗口。
|
3天前
|
缓存 监控 测试技术
探索Python中的装饰器:提升代码的灵活性和可维护性
本文深入探讨Python装饰器的概念、用法及优势。通过实例讲解如何利用装饰器增强函数功能、日志记录及性能测试,旨在帮助读者掌握这一强大的工具,提升编程效率与代码质量。
|
3天前
|
缓存 开发者 Python
探索Python中的装饰器:提升代码复用性与可读性
本文旨在深入探讨Python装饰器的概念、实现及其应用。通过实例分析,本文展示了如何利用装饰器提高代码的模块化和重用性,从而优化开发流程。我们将从装饰器的基本定义入手,逐步解析其工作机制,并通过案例展示如何在实际项目中有效利用装饰器。
10 0
|
4天前
|
数据采集 机器学习/深度学习 人工智能
Python编程入门:从零基础到实战应用
【9月更文挑战第15天】本文将引导读者从零开始学习Python编程,通过简单易懂的语言和实例,帮助初学者掌握Python的基本语法和常用库,最终实现一个简单的实战项目。文章结构清晰,分为基础知识、进阶技巧和实战应用三个部分,逐步深入,让读者在学习过程中不断积累经验,提高编程能力。
|
5天前
|
机器学习/深度学习 数据采集 人工智能
探索Python的奥秘:从基础到进阶的编程之旅
在这篇文章中,我们将深入探讨Python编程的基础知识和进阶技巧。通过清晰的解释和实用的示例,无论您是编程新手还是有经验的开发者,都能从中获得有价值的见解。我们将覆盖从变量、数据类型到类和对象的各个方面,助您在编程世界里游刃有余。
23 10
|
1天前
|
人工智能 数据挖掘 开发者
Python编程入门:从基础到实战
【9月更文挑战第18天】本文将带你走进Python的世界,从最基本的语法开始,逐步深入到实际的项目应用。无论你是编程新手,还是有一定基础的开发者,都能在这篇文章中找到你需要的内容。我们将通过详细的代码示例和清晰的解释,让你轻松掌握Python编程。
15 5