Python爬虫实战-批量爬取下载网易云音乐

这篇具有很好参考价值的文章主要介绍了Python爬虫实战-批量爬取下载网易云音乐。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

大家好,我是python222小锋老师。前段时间卷了一套 Python3零基础7天入门实战https://blog.csdn.net/caoli201314/article/details/132882813
1小时掌握Python操作Mysql数据库之pymysql模块技术https://blog.csdn.net/caoli201314/article/details/133199207
一天掌握python爬虫【基础篇】 涵盖 requests、beautifulsoup、seleniumhttps://blog.csdn.net/caoli201314/article/details/134071440

近日锋哥又卷了一波Python实战课程-批量爬取下载网易云音乐,主要是巩固下Python爬虫基础

视频版教程:Python爬虫实战-批量爬取下载网易云音乐https://www.bilibili.com/video/BV1aw411M72B/

网易云音乐官方主页:

https://music.163.com/

比如我们打开邓紫棋的主页:

https://music.163.com/#/artist?id=7763

Python爬虫实战-批量爬取下载网易云音乐,Python,python,爬虫,开发语言,selenium,python爬虫,Python爬虫,网易云音乐

现在我们要爬取这里面的音乐文件,我们正常人的分析思路是这样的。

    思路:
    1,根据歌手链接地址获取页面源码
    2,解析页面源码获取所有歌曲列表
    3,遍历,下载每首歌曲

前面两步很简单,很容易实现。

第三步,我们点 音乐列表 前面的播放按钮,当前页面底部会出现播放器,播放音乐。

Python爬虫实战-批量爬取下载网易云音乐,Python,python,爬虫,开发语言,selenium,python爬虫,Python爬虫,网易云音乐

谷歌 F12 进入开发者工具,点 Media 我们是可以得到音乐的源文件的。包括VIP音乐

Python爬虫实战-批量爬取下载网易云音乐,Python,python,爬虫,开发语言,selenium,python爬虫,Python爬虫,网易云音乐

我们要通过Python得到这个请求地址,需要进行js逆向,破解,得到js方法源代码,然后进行模拟拼接动态请求,得到音乐二进制文件,锋哥上有老,下有小,容易受到律师函,进去踩缝纫车,就不搞这种方式。

我们还是采用网易云官方提供的API接口进行获取音乐文件,包括在线播放。

网易云音乐开放接口:http://music.163.com/song/media/outer/url?id=歌曲ID  (VIP音乐下载不了)

完整可运行代码如下。具体代码分析,可以看帖子开头的视频教程文章来源地址https://www.toymoban.com/news/detail-745557.html

"""
    思路:
    1,根据歌手链接地址获取页面源码
    2,解析页面源码获取所有歌曲列表
    3,遍历,下载每首歌曲
    python爬虫前置基础视频教程:http://python222.com/post/7
    备注:网易云音乐开放接口:http://music.163.com/song/media/outer/url?id=歌曲ID  (VIP音乐下载不了)
    测试:https://music.163.com/#/artist?id=7763
    仅供学习测试
"""

import requests
from bs4 import BeautifulSoup

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
}

# 获取用户输入的歌手链接页面
singer_url = input("请输入您要下载的歌手页面链接:")
# 格式化下载链接
url = singer_url.replace("/#", '')
response = requests.get(url=url, headers=headers)
# print(response.text)

# 实例化bs4
soup = BeautifulSoup(response.text, 'lxml')

# 获取歌曲列表
song_list = soup.select("ul.f-hide li a")
print(song_list)


def download_song(song_name, song_id):
    """
    下载歌曲
    :param song_name: 歌曲名称
    :param song_id: 歌曲ID
    :return:
    """
    music_open_api = "http://music.163.com/song/media/outer/url?id=" + song_id
    music = requests.get(url=music_open_api, headers=headers)
    # 下载歌曲
    try:
        with open(f"./music/{song_name}.mp3", 'wb') as file:
            file.write(music.content)
            print(f"《{song_name}》下载成功")
    except:
        print(song_name, "下载异常")


for song in song_list:
    # 获取歌曲名称
    song_name = song.text
    # print(song_name)
    # 获取歌曲ID
    song_id = song['href'].split("=")[1]
    # 下载歌曲
    download_song(song_name, song_id)

到了这里,关于Python爬虫实战-批量爬取下载网易云音乐的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ins视频批量下载,instagram批量爬取视频信息【爬虫实战课1】

    Instagram 是目前最热门的社交媒体平台之一,拥有大量优质的视频内容。但是要逐一下载这些视频往往非常耗时。在这篇文章中,我们将介绍如何使用 Python 编写一个脚本,来实现 Instagram 视频的批量下载和信息爬取。 我们使用selenium获取目标用户的 HTML 源代码,并将其保存在本地

    2024年04月23日
    浏览(57)
  • Python逆向爬虫入门教程: 网易云音乐加密参数 params & encSecKey 逆向解析

    网站链接: aHR0cHM6Ly9tdXNpYy4xNjMuY29tLyMvZGlzY292ZXIvdG9wbGlzdD9pZD0zNzc4Njc4 正常流程抓包分析数据, 找到音频链接   找到歌曲信息对应数据包         分析加密参数位置     找到对应的加密位置, 其余就去扣代码即可, 缺什么补什么就行了, 主要是注意一下传入的参数问题, 因为它传入的

    2024年03月27日
    浏览(59)
  • Python爬虫实战(六)——使用代理IP批量下载高清小姐姐图片(附上完整源码)

    本次爬取的目标是某网站4K高清小姐姐图片: 实现批量下载指定的图片,存放到指定文件夹中: Python:3.10 编辑器:PyCharm 第三方模块,自行安装: 爬虫使用代理IP的好处有以下几点: 轮换IP地址 :使用代理IP可以轮换IP地址,降低被封禁的风险,从而保持爬取的连续性

    2024年02月07日
    浏览(110)
  • python-爬虫-xpath方法-批量爬取王者皮肤图片

    球员:乔尔-恩比德 - - - 球队:76人 球员:卢卡-东契奇 - - - 球队:独行侠 球员:达米安-利拉德 - - - 球队:开拓者 爬取一张图片 该角色有7个皮肤 爬取7个图片 获取这7个皮肤的名字 保存图片 获取所有英雄皮肤 把该行网址复制到网址栏,会自动下载该文件 https://pvp.qq.com/web20160

    2024年02月09日
    浏览(54)
  • python3GUI--仿做一个网易云音乐(第三弹v2.0)By:PyQt5(附下载地址)

    传送门: python3GUI–仿做一个网易云音乐By:PyQt5(附下载地址) python3GUI–仿做一个网易云音乐(第二弹v1.5)By:PyQt5(附下载地址) 本篇为模仿网易云音乐2.0篇,是本系列最后一篇,本篇继续在v1.5基础上进行改进,尽最大努力模仿网易云音乐播放器UI,本篇将全方面介绍咱们的“

    2024年02月15日
    浏览(80)
  • python爬虫实战——小说爬取

    基于 requests 库和 lxml 库编写的爬虫,目标小说网站域名http://www.365kk.cc/,类似的小说网站殊途同归,均可采用本文方法爬取。 目标网站 :传送门 本文的目标书籍 :《我的师兄实在太稳健了》 “渡劫只有九成八的把握,和送死有什么区别?” 网络爬虫的工作实际上主要分为

    2024年02月06日
    浏览(45)
  • Python爬虫实战案例——音乐爬虫,收费歌曲依旧可用

    因为现在众多音乐平台下载歌曲都要收费了,导致我没有车载音乐听了。于是便自学爬虫做了这个简易的音乐爬虫。不是那些大平台的音乐爬虫,是一个不知名的小音乐网站的爬虫。下面开始正题: 首先,便是找不是那几家大互联网公司的音乐网站,在我的不懈努力之下终于

    2024年02月03日
    浏览(42)
  • Python爬虫系列(二)——Python爬虫批量下载百度图片

    1. 前言 先贴代码 如果要使用上述程序的话,需要修改两个地方 : self.directory 这是本地存储地址,修改为自己电脑的地址,另外,**{}**不要删 spider.json_count = 10 这是下载的图像组数,一组有30张图像,10组就是三百张,根据需求下载 也可以去gitee仓库直接下载程序。 关于 py

    2023年04月08日
    浏览(59)
  • Python爬虫实战——爬取新闻数据(简单的深度爬虫)

            又到了爬新闻的环节(好像学爬虫都要去爬爬新闻,没办法谁让新闻一般都很好爬呢XD,拿来练练手),只作为技术分享,这一次要的数据是分在了两个界面,所以试一下深度爬虫,不过是很简单的。  网页url 1.先看看网站网址的规律  发现这部分就是每一天的新闻

    2024年02月11日
    浏览(44)
  • python爬虫实战(1)--爬取新闻数据

    想要每天看到新闻数据又不想占用太多时间去整理,萌生自己抓取新闻网站的想法。 使用python语言可以快速实现,调用 BeautifulSoup 包里面的方法 安装BeautifulSoup 完成以后引入项目 定义请求头,方便把请求包装成正常的用户请求,防止被拒绝 定义被抓取的url,并请求加上请求

    2024年02月13日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包