本套课程正式进入Python爬虫阶段,具体章节根据实际发布决定,可点击【python爬虫】分类专栏进行倒序观看:
【重点提示:请勿爬取有害他人或国家利益的内容,此课程虽可爬取互联网任意内容,但无任何收益,只为大家学习分享。】
开发环境:【Win10】
开发工具:【Visual Studio 2019】
Python版本:【3.7】
总是版权问题,我就尽量删掉网站上的截图了,主要内容都在编码中。
目标:【更多-->音乐-->音乐页面】
1、查找目标位置:
播放的路径:【https://audio04.dmhmusic.com/71_53_T10049727031_128_4_1_0_sdk-cpm/cn/0208/M00/9C/D5/ChR47F0u0WCAGK0BAHsyIZRAuzg486.mp3?xcode=986ee76b251cf5ea7c25506b1e42484eca69d0d】
查看访问路径与需要参数:
2、解析路径,获取一个音乐集合的路径:
3、解析获取id与title
import requests
import uuid
import random
import time
#可更换参数:tab={}&num={}我这里不多下载,10个就可以了。
url ="https://music.taihe.com/v1/song/info?sign=03f0d20475fe5fb6c669c50fb92778b5&appid=16073360&TSID=T10049727031%2CT10049726992%2CT10038911463%2CT10039002156%2CT10038856674%2CT10038856669%2CT10038926584%2CT10038926593%2CT10038992003%2CT10038992010%2CT10054620501%2CT10038818736%2CT10057229599%2CT10055694882%2CT10057217243%2CT10056317505%2CT10056970485%2CT10056970489%2CT10057218352%2CT10038929666%2CT10038902299%2CT10038928529%2CT10054168932%2CT10038980134%2CT10038980150%2CT10038818871%2CT10038859760%2CT10038859749%2CT10041237453%2CT10038833747%2CT10038873333%2CT10040588990%2CT10038992597×tamp=1613374105"
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'}
resp = requests.get(url, headers=headers)
resp_json = resp.json()
data_list = resp_json['data']
lst=[]
for x in data_list:
print(x['id'])
print(x['title'])
一共32个地址,一会看能下载多少音乐。
4、拼接单个音乐链接地址与下载音乐:
import requests
import uuid
import random
import time
#可更换参数:tab={}&num={}我这里不多下载,10个就可以了。
url ="https://music.taihe.com/v1/song/info?sign=03f0d20475fe5fb6c669c50fb92778b5&appid=16073360&TSID=T10049727031%2CT10049726992%2CT10038911463%2CT10039002156%2CT10038856674%2CT10038856669%2CT10038926584%2CT10038926593%2CT10038992003%2CT10038992010%2CT10054620501%2CT10038818736%2CT10057229599%2CT10055694882%2CT10057217243%2CT10056317505%2CT10056970485%2CT10056970489%2CT10057218352%2CT10038929666%2CT10038902299%2CT10038928529%2CT10054168932%2CT10038980134%2CT10038980150%2CT10038818871%2CT10038859760%2CT10038859749%2CT10041237453%2CT10038833747%2CT10038873333%2CT10040588990%2CT10038992597×tamp=1613374105"
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36'}
resp = requests.get(url, headers=headers)
resp_json = resp.json()
data_list = resp_json['data']
lst=[]
for x in data_list:
lst.append({"id":x["id"],"title":x["title"]})
#以下为存储过程
# 遍历列表存储所有图片
for item in lst:
# 发送请求
try:
musicUrlBase=str.format("https://music.taihe.com/v1/song/tracklink?sign=14bcbe5b209a984dac25dad3b96c6dfb&appid=16073360&TSID={0}×tamp=1613374106",item["id"]);
resp1=requests.get(musicUrlBase)
resp_json1 = resp1.json()
pic= requests.get(resp_json1["data"]["path"], timeout=100)
except:
print ('错误:当前音乐无法下载')
continue
# uuid4为图片名称
#,创建img文件夹, wb+:写入二进制数据
file=open(str.format("{0}.mp3",item["title"]), 'wb+')
file.write(pic.content)
file.close()
print(item["title"],"下载完毕")
#每次操作完休息1~3s
timeStop=random.randint(1,4)
time.sleep(timeStop)
print("完成")
5、音乐播放测试:
6、总结:
a)、下载过程中有无法下载的音乐,没有具体测试原因。
b)、可以试试其它网站,因为百度大家都知晓,我就用这个测试了。其它的也就是第一步麻烦一些,找吧,找吧,习惯就好了。
欢迎【点赞】、【评论】、【关注】、【收藏】,为推广知识贡献力量。
【小说、图片、视频、音乐】都爬取完毕了,python爬虫的课程也就到此结束了。图形化页面没什么实际意义,我就不做编辑了,晚上我弄个基础环境画个❤,画朵花仅供欣赏。