|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 aa1448176630 于 2020-6-2 23:27 编辑
- import requests as r
- import re
- import os
- def open_url(url):
- data={'pagepwd': '11688'}# 11688 为进入网站口令 随时可能失效 自行更新
- head={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36 Edg/83.0.478.37'}
- p=r.post(url,data=data,headers=head)
- return p
-
- def find_link(p):
- p.encoding='utf-8'
- p=p.text
-
- l="url: '([^']+)"#播放链接
- link=re.findall(l,p)
- n="name: '([^']+)"#曲名
- name=re.findall(n,p)
- sn="artist: '([^']+)"#作者
- sname=re.findall(sn,p)
- #print(name)
- #print(link)
-
- save(name,link,sname)
-
- def save(name,link,sname):
- if not os.path.exists(r'C:\Users\Administrator\Desktop\allmusic'):
- #print("ceshi")
- os.mkdir(r'C:\Users\Administrator\Desktop\allmusic')
- os.chdir(r'C:\Users\Administrator\Desktop\allmusic')
- length=len(name)
-
- for i in range(length):
- if i>=5: #默认下前五首
- break
- path=r'C:\Users\Administrator\Desktop\allmusic'+'\\'+ name[i] + sname[i] + '.mp3'
- with open (path,'ab+') as f:
- p=open_url(link[i]).content
- f.write(p)
- f.close()
- print("第"+ str(i+1) + "首下载完成!")
- print("默认前5首下载完成!")
-
- if __name__=='__main__':
- kw=input("请输入歌名或者歌手名:")
- print("下载源有1、wy(网易云) 2、kuwo(酷我) 3、qq(QQ音乐) 4、kg(酷狗) 5、migu(咪咕)")
- a=['wy','kuwo','qq','kg','migu']
- flag=1
- print("请输入下载源:",end='')
- while flag:
- source=input()
- if source in a:
- url='https://music.hwkxk.cn/?kw='+str(kw)+'&source='+str(source)
- #print(url)
- p=open_url(url)
- find_link(p)
- flag=0
- else:
- print("输入下载源有误,请重新输入:",end='')
复制代码
爬虫新手,仅为交作业,大佬勿喷 |
|