Python爬⾍案例:下载酷某⾳乐⽂件
jsp中setattribute⽂章⽬录
1、Python爬⾍案例下载⾳乐
1.1、前期准备
java读取xml配置文件要有rquests、re、json包,如果不存在,先⽤pip install安装
1.2、分析
1.2.1、第⼀步
⾸先我们先进⼊⾸页并搜索你要查询的歌⼿,进⼊查询的页⾯,查看页⾯源代码,发现并没有这个列表数据,这⾥就不展⽰了,页⾯源代码没有发现想要的数据,那就来看network⽹络请求中的数据
1.2.2、第⼆步
打开⽹络请求,刷新页⾯,到需要的请求
打开标头查看url中携带的数据
通过查看参数可知,不仅仅存在着我们搜索的内容,还有两个其它的参数callback 和 _ 两个参数,这乍⼀看还挺懵的,想着是不是有什么脚本进⾏了加密什么的,后⾯通过测试,发现这两给参数是⼀个随机给出的随机值,将这两个参数固定修改搜索的歌⼿,发现能够查询到我们需要的内容。所有接下来可以进⾏我们的第三步
dubbo php1.2.3、第三步
随便点击⼀⾸歌曲,进⼊听歌页⾯,发现还是⽼套路,在页⾯源代码中没有发现需要的MP3⾳乐⽂件,所有⼜需要看network⽹络请求中的数据
打开标头查看url中携带的数据
查看携带的参数,发现有很多,不过没事,通过分析可以发现只有hash和album_id是变值,其它的都是跟第⼆步中的callback 和 _ 这个参数⼀样,是可以固定下来的,我们只需关⼼hash和album_id这两个参数
通过分析可以知道,第⼆步中的请求中有我们需要的这两个参数,如下
nginx日本大全到了要下载⾳乐的所有需要的东西,接下来可以进⾏我们的第四步
1.2.4、第四步
访问的两个求,查看返回的数据信息
第⼆步的请求
通过分析发现hash和album_id这两个参数存在song中所有我们需要将这个song给取出来
通过分析发现mp3⽂件在data中,所有需要将data提取出来⾄此所有的分析都完成了,可以直接上代码了
1.3、代码实现
import json
import re
url ="searchrecommend.kugou/get/complex?callback=jQuery112409589811716312686_1626852436130&word=周杰伦&_=1626852436132"
headers ={
"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36 Edg/91.0.86 4.70",
"referer":"www.kugou/"
}
resp = (url, headers=headers)
p1 = repile(r'jQuery.*?[({].*?"data":.*?"song":(.*?),"correctiontip"', re.S)
songs = re.findall(p1, )[0]
jquery下载文件请求
songs = json.loads(songs)
for song in songs:
title = song['songname']
AlbumID = song['AlbumID']
武汉软件编程培训班song_hash = song['hash']
child_url = f"wwwapi.kugou/yy/index.php?r=play/getdata&callback=jQuery191053318263960215_1626866592344&hash={song_hash}&dfid= 1tXkst0i97Rq4RW0pz15GjrP&mid=3196606d7d3ff0207a473da58e0b44b3&platid=4&album_id={AlbumID}&_=1626866592346"
child_resp = (child_url, headers=headers)
ding="utf-8"
obj = repile(r'jQuery.*?[({].*?"data":(.*?)}[)]', re.S)
child_song = re.findall(obj, )[0]
child_song = place("\\","")
child_song_src = json.loads(child_song)["play_url"]
child_song_resp = (child_song_src)
with open("⾳乐/"+title+".mp3", mode="wb")as f:
f.write(child_t)
print(title+"下载完成")
print("okok")
1.4、运⾏结果
下载周杰伦的歌,改变url去查询你喜欢的歌⼿
因为⽹页版只有20⾸歌,所以就只有这么多
在本地⽂件中查看

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。