• 1 安装scrapy

    最简单的,万无一失的方法, 打开Anaconda的Navigator, 选择"ALL", 然后搜索"scrapy", 选中前面的对号, 右下角会有个"apply",就是下载安装了.几分钟搞定

    或者打开anaconda的prompt, 直接conda install scrapy, 然后y确认安装.

  • 2 代码部分

import requests,os,time,sys,re
from scrapy.selector import Selector
from urllib import request
from tqdm import tqdmdir_path = r'F:/pachong_cloud_1' # 文件下载地址class wangyiyun():def __init__(self):self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36','Referer': 'http://music.163.com/'}self.main_url='http://music.163.com/'self.session = requests.Session()self.session.headers=self.headersdef get_songurls(self,playlist):'''进入所选歌单页面,得出歌单里每首歌各自的ID 形式就是“song?id=64006"'''url=self.main_url+'playlist?id=%d'% playlistre= self.session.get(url)   #直接用session进入网页,懒得构造了sel=Selector(text=re.text)   #用scrapy的Selector,懒得用BS4了songurls=sel.xpath('//ul[@class="f-hide"]/li/a/@href').extract()print(songurls)return songurls   #所有歌曲组成的list##['/song?id=64006', '/song?id=63959', '/song?id=25642714', '/song?id=63914', '/song?id=4878122', '/song?id=63650']def get_songinfo(self,songurl):'''根据songid进入每首歌信息的网址,得到歌曲的信息return:'64006','陈小春-失恋王'''url=self.main_url+songurlre=self.session.get(url)sel=Selector(text=re.text)song_id = url.split('=')[1]song_name = sel.xpath("//em[@class='f-ff2']/text()").extract_first()singer= '&'.join(sel.xpath("//p[@class='des s-fc4']/span/a/text()").extract())songname=singer+'-'+song_namereturn str(song_id),songnamedef download_song(self, songurl, dir_path):'''根据歌曲url,下载mp3文件'''song_id, songname = self.get_songinfo(songurl)  # 根据歌曲url得出ID、歌名song_url = 'http://music.163.com/song/media/outer/url?id=%s.mp3'%song_idpath = dir_path + os.sep + songname + '.mp3'  # 文件路径all_lists = os.listdir(dir_path)if  songname+'.mp3' not in all_lists:request.urlretrieve(song_url, path)  # 下载文件def work(self, playlist):songurls = self.get_songurls(playlist)  # 输入歌单编号,得到歌单所有歌曲的urlif not os.path.isdir(dir_path):os.mkdir(dir_path)for songurl in tqdm(songurls):try:self.download_song(songurl, dir_path)  # 下载歌曲except Exception:continueif __name__ == '__main__':d = wangyiyun()list_id = [66666, 8888888, 55555555] # 所有你想下的歌单for id in list_id:d.work(id)

需要注意两点

  1. d.work()内写的是歌单的序号, 按如下步骤做, 粘贴到任何可以粘贴的地方, 里面会有个playlistid ,就是那个.

    第2点,就是dir_path, 这里写你需要下载的文件夹,自己先创建好.
    改完这两处,直接运行就好了.

python3 下载网易云音乐歌单相关推荐

  1. Python下载网易云音乐歌单

    教程(假的) b站链接: https://b23.tv/av93837599 这期视频起源于本人本地歌曲被网易云音乐删掉的悲惨经历,不管你有没有,反正我有,我以前在qq音乐下载了一首肖邦的钢琴协奏曲, ...

  2. Python数据分析之定制化网易云音乐歌单

    最近朋友圈刷疯了的几件事: 圣诞节骗我艾特微信官方戴红帽 老的跟树皮似的骗我晒18岁皂片 明明开挂却骗我自己玩的跳一跳 网易云听歌报告告诉我最爱tfboy 支付宝关键词鄙视我太穷丢它脸 个人特别喜欢听 ...

  3. 小项目实现:下载网易云某个歌单的全部音乐

    第一步:用歌曲地址先实现一首歌的下载 利用: song_url (例如:https://m701.music.126.net/20190719164713/77733e070e7f9c68ac6ea2 ...

  4. python 爬虫爬取下载网易云音乐歌单的歌曲(需要使用JS的加密方法得出params去获取下载地址)

    要点:1.js加密就是麻烦,只能百度寻找了!设计的加密模块binascii.Crypto.base64 2.requests.Session的用法,可以指定headers.cookies 3.可以用s ...

  5. PHP爬虫音乐,PHP 爬虫———爬取网易云音乐歌单

    爬取网易云音乐歌单 PHP + QueryList + Puppeteer + Nodejs 使用 Composer 安装库 如果你之前没有接触过Composer,强烈建议你学习一下.Composer ...

  6. python音乐可视化_Python数据可视化:网易云音乐歌单

    原标题:Python数据可视化:网易云音乐歌单 作者:法纳斯特(本文来自作者投稿,简介见末尾) 网易云音乐2018年度听歌报告-遇见你,真好. 相信有不少人在上周,应该已经看过自己网易云音乐的年度报告 ...

  7. python网络爬虫网易云音乐_手把手教你写网络爬虫(1):网易云音乐歌单

    大家好,<手把手教你写网络爬虫>连载开始了!在笔者的职业生涯中,几乎没有发现像网络爬虫这样的编程实践,可以同时吸引程序员和门外汉的注意.本文由浅入深的把爬虫技术和盘托出,为初学者提供一种轻 ...

  8. 网易教程python_手把手教你写Python网络爬虫(1):网易云音乐歌单

    摘要:从零开始写爬虫,初学者的速成指南! 需要免费获取本文章讲解的视频+源码,关注+转发此文然后私信我回复"音乐"即可领取资料,也欢迎大家和我一起交流学习Python,共同成长 封 ...

  9. 手把手教你写Python网络爬虫:网易云音乐歌单

    介绍 什么是爬虫? 先看看百度百科的定义: 网络爬虫 简单的说网络爬虫(Web crawler)也叫做网络铲(Web scraper).网络蜘蛛(Web spider),其行为一般是先"爬& ...

最新文章

  1. sql中union 和 union all的区别
  2. mysql修改i数据库名_数据库操作之mysqli语句的增删改查0424/14:36
  3. 自定义工具类:工具类介绍
  4. 李嘉诚再卖地3800亩,房价要变天了吗?
  5. SQL Server 自定义函数 返回树结构函数
  6. C/C++中指针和引用之相关问题研究
  7. 写程序没思路怎么办?
  8. 关于FP Spread for Web Forms 2.0.0.0
  9. SaltStack 二修命令注入和提权漏洞
  10. Manjaro oh-my-zsh安装配置
  11. Echart极坐标间隔显示-单类目轴
  12. matlab仿真的五个步骤,matlab simulink 仿真步骤
  13. HeadFirstJava——10_数字与静态
  14. 湖州市技师学院的计算机,湖州技师学院
  15. 免费国外视频素材网站
  16. STN网络官方文档复现
  17. 《认知觉醒》 读书笔记
  18. Python库collections中的计数器(Counter)
  19. 【免费or付费】外卖优惠券公众号的申请以及做法有什么不同?
  20. 隐私全没了?30亿条个人信息被盗,BAT等96家公司全部中招

热门文章

  1. VLAN间通信比较及VLANIF配置
  2. antd非必填项的手机号码校验
  3. STM32 keil仿真点击运行后不能全速运行,点一下运行一下
  4. Oracle数据库笔记总汇
  5. Oracle数据库•笔记
  6. 有些话很幽默、有些话很深邃,经典一贴[转]
  7. 计算机视觉中的各种卷积(Convolution in Computer Vision)
  8. MoviePy - 使用 Python 编辑视频
  9. 《ICNet for Real-Time Semantic Segmentation on High-Resolution Images》论文阅读及代码实现
  10. 音视频面试题:什么是秒开视频? 如何去秒开视频?