网易云爬虫-爬取单曲和歌单所有歌曲

网易云爬虫-爬取单曲和歌单所有歌曲

  今天断网了 敲代码不听歌的程序员是没有灵魂的,但是本地下载又太繁琐了,想着能不能一下把一个歌单的内容按文件夹进行下载,说做就做.
首先网上已经有了网易云js加载encSecKey和params参数的加密过程,分析也是稍微有些繁琐。这里我根据网易云的一个外链进行简单的下载
在这里插入图片描述
http://music.163.com/song/media/outer/url?id={}.mp3每个根据都有不同的id 我们只需要将不同歌曲的id给填充下载,就可以请求数据,保存到本地 就是下载了。
下载网易云歌单同理:
在这里插入图片描述
每个歌单的id都是固定,前面的url都是一样的,我们用户只需要点开歌单 填充歌单id就能够得到这个歌单的页面数据,然后再对这个页面数据进行分析,拿到每一个歌曲的id 再根据第一步下载单曲的步骤就能将歌曲下载下来了。是不是很简单, 下载我将我写的源代码贴下,不足之处,请大家指教!

#!/usr/bin/python
# -*- coding: utf-8 -*-
# @Time    : 2020/4/24 15:05
# @Author  : zh
# @File    : wangyiyun.py
import json
import os
import re
from pprint import pprint

import requests
from selenium import webdriver


class WangYiYun():
    def __init__(self):
        self.song_mp3_url = 'http://music.163.com/song/media/outer/url?id={}.mp3'
        self.song_list_id = 'https://music.163.com/#/playlist?id={}'
        self.headers = {
   
                        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.122 Safari/537.36"
                        }
        self.song_url = "https://music.163.com/#/search/m/?s={}&type=1"
        self.songs = []


    def show_menu(self):
        print("欢迎来到网易云音乐下载中心")
        print("-"*50)
        print("1. 下载单曲")
        print("2. 下载歌单")
        print("3. 退出")
        print("-"*50)

    def run(self):
        self
  • 2
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值