爬取网易云新歌榜并下载其中的歌曲

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/83.0.4103.106 Safari/537.36'}
res=requests.get('https://music.163.com/discover/toplist?id=3779629',headers=headers)
soup=BeautifulSoup(res.text,'html.parser')
inf=soup.find('ul',class_="f-hide")
infor=inf.find_all('a')
list=[]
namelist=[]
number=0

for i in infor:
    number=number+1
    name=i.text
    web=i.get('href')
    id=web[9:]
    url='https://music.163.com'+web
    list.append(id)
    namelist.append(name)
    print(str(number)+' '+name+'   '+url)
    
def download():
    while True:
        a=input('请输入您要下载歌曲的序号')
        b=int(a)-1
        aa=list[int(b)]
        fn=namelist[int(b)]
        p='http://music.163.com/song/media/outer/url?id={}.mp3'.format(aa)
        music=requests.get(p,headers=headers).content
        with open('{}.mp3'.format(fn),'wb') as f:
            f.write(music)
            f.close()
            print(fn+'      下载完毕')
download()

爬虫新手,水平有限,大家轻喷꒰๑• ̫•๑꒱ ♡

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值