python爬虫爬取歌曲_Python爬虫-爬取音乐资源

#python 的正则库

importre#python 的requests库

importrequestsimporttime#找到url的规律#每一页的url#http://www.htqyy.com/top/hot#http://www.htqyy.com/top/musicList/hot?pageIndex=1&pageSize=20#http://www.htqyy.com/top/musicList/hot?pageIndex=2&pageSize=20

#歌曲连接#http://www.htqyy.com/play/33#33-每个歌曲的号码,页url可以找到#资源所在url#http://f2.htqyy.com/play8/33/mp3/6

#class="num">41琵琶语

songName=[]

songID=[]

headers={"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) \

AppleWebKit/537.36 (KHTML, like Gecko) \

Chrome/81.0.4044.138 Safari/537.36"}

page=2

#page=int(input("请输入您要爬取的页数:"))

for i inrange(0,page):

url="http://www.htqyy.com/top/musicList/hot?pageIndex="+str(i)+"&pageSize=20"

#发送get请求,获取音乐榜单网页信息

r=requests.get(url,headers=headers)#GBK网页采用的编码格式

r.encoding='GBK'html_text=r.textprint(html_text)#正则找到对应歌的url

part1=r'title="(.*?)" sid='part2=r'sid="(.*?)"'

#将匹配的字串组成列表形式返回

titlelist=re.findall(part1,html_text)

idlist=re.findall(part2,html_text)#在一个列表尾添加另一个列表

songName.extend(titlelist)

songID.extend(idlist)for i inrange(0,len(songID)):

songurl="http://f2.htqyy.com/play8/"+str(songID[i])+"/mp3/6"songname=songName[i]#二进制文件

data=requests.get(songurl).contentprint("正在下载...")

with open("E:\\music\\{0}.mp3".format(songname),"wb") as f:

f.write(data)

time.sleep(5)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值