10.使用requests库爬取网易云音乐

📅 2026/7/24 10:13:22 👁️ 阅读次数 📝 编程学习
10.使用requests库爬取网易云音乐

一、代码实例

网易云:网易云音乐 https://music.163.com/#

选择音乐:断点 (右击获取音乐的网址)

代码展示:

import requests url="https://m801.music.126.net/20240923175648/f7975dcf8746522c78db0b5c6607887c/jdyyaac/obj/w5rDlsOJwrLDjj7CmsOj/46022528091/40c8/f8bc/9099/2c5e2491d77cd92807f6b2b810ead63b.m4a" headers={ 'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36' } response=requests.get(url=url,headers=headers) content=response.content with open("断点.m4a","wb")as fp: fp.write(content)

结果展示:

注意:由于网址或网页内容的更新,以及用户是否注册登录等的不同,提取的网址连接可能会不同。

大家也可以根据其他的音乐连接,通过python代码程序进行下载测试。

二、代码核心知识点

1. requests 库

  • Python 中最常用的HTTP 网络请求第三方库

  • 支持 GET/POST 等请求方式

  • 简洁易用,常用于爬虫、数据采集、文件下载

2. GET 请求

  • requests.get()

  • 作用:向服务器获取资源(网页、图片、音频、视频等)

  • 这里用于下载音频文件

3. URL 资源定位

  • URL 是网易云音乐音频资源的真实地址

  • 指向服务器上的.m4a音频文件

4. 请求头 Headers(UA 伪装)

headers={ 'user-agent':'Mozilla/5.0 ...' }
  • User-Agent:身份标识,告诉服务器 “我是浏览器访问”

  • UA 伪装:反反爬机制,避免被服务器识别为爬虫而拒绝访问

  • 不加 UA 很可能下载失败

5. response 响应对象

  • response=requests.get(...)

  • 服务器返回的所有数据都封装在响应对象中

6. response.content

  • 获取二进制数据(bytes)

  • 音频、图片、视频都是二进制文件,必须用.content获取

  • 区别:

    • .text→ 文本(网页)

    • .content→ 二进制(文件)

7. 文件保存操作

with open("断点.m4a","wb") as fp: fp.write(content)
  • with open():安全打开文件

  • "断点.m4a":保存的文件名

  • "wb"以二进制写入模式打开(必须写 wb,否则音频损坏)

  • fp.write(content):将二进制音频数据写入文件

8. 网络资源下载原理

请求 → 获取二进制数据 → 写入本地文件 → 完成下载