网易云歌曲爬虫

这个博客分享了一个使用Python编写的网易云音乐爬虫程序,能够搜索歌曲并下载,包括VIP歌曲。用户输入歌曲名称进行搜索,选择歌曲ID后,程序会下载指定歌曲,同时使用了伪装User-Agent和Referer来规避反爬策略。但需要注意的是,此程序未考虑反爬策略,可能无法在实际环境中持久运行。
摘要由CSDN通过智能技术生成

网易云歌曲爬虫,一个小程序,没有考虑反爬

网易云歌曲api,每首歌对应一个id,先抓取id然后下载歌曲,包含vip歌曲在内

‘http://music.163.com/song/media/outer/url?id=’+id_choice+’.mp3’
就这样
在这里插入图片描述
一个requests搞定

import requests
def music_search():
    name = input("请输入要搜索的内容:")
    url = 'https://musicapi.leanapp.cn/search?keywords='+name
    id_list = requests.get(url=url).json()
    ids = []
    names = []
    for id in id_list['result']['songs']:
        ids.append(id['id'])
        names.append(id['name'])
    music_dict = dict(zip(names, ids))
    print('\n')
    for key,value in music_dict.items():
        print(key,"的id为",value)
    print('\n')
def music_download():
    id_choice=input('请选择要下载的歌曲id:')
    id_choice=id_choice.replace(' ', '')
    url='http://music.163.com/song/media/outer/url?id='+id_choice+'.mp3'
    headers={
        'User-Agent': 'ozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36',
        'Referer': 'https://email.163.com/'
    }
    music_data=requests.get(url=url,headers=headers).content
    name=input('请为该歌曲命名:')+'.mp3'
    print('正在下载中')
    fp=open(name,'wb')
    fp.write(music_data)
    print(name,'下载成功')

if __name__=='__main__':
    music_search()

    music_download()
    choice=input('请选择接下来的操作重新搜索(1) 继续下载(2) 退出(任意)')
    while True:
        if choice==1:
            music_search()
        elif choice==2:
            music_download()
        else:
            break

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值