网页音频抓取软件(,url-音频播放地址列表信息应该搞清楚了(图) )

优采云 发布时间: 2022-03-05 08:00

  网页音频抓取软件(,url-音频播放地址列表信息应该搞清楚了(图)

)

  目的?

  这是一个python练习,通过它我们可以理解:

  一、分析列表页面

  

  在网络分析中,快速查看所有http请求,查看响应结果,快速找到

  在请求中,我们找到了一个请求/revision/album/v1/getTracksList?albumId=18521227&pageNum=1,就是这样

  

  结合页面的情况和响应的结果,我们应该可以猜出:albumId应该是专辑ID,pageNum应该是页面,我们来验证一下

  是的,这是列表信息的请求 url。在json响应结果中,我们发现了更重要的信息:trackId-音频ID、title-音频标题、url-音频播放地址

  

  列表信息的来源要清楚。看看在播放音频的时候能不能找到音源?

  二、分析音频播放页面

  

  本次请求响应结果中的src为音频地址

  

  三、编码实现

  如何获取专辑列表

  # 获取专辑列表

# album_id 专辑ID

# page_num 页码

def get_track_list(album_id, page_num):

url = "https://www.ximalaya.com/revision/album/v1/getTracksList?albumId=" + str(album_id) + "&pageNum=" + str(

page_num)

track_list = []

resp = requests.get(url, headers=header)

result = resp.json()

if result['ret'] == 200:

tracks = result['data']['tracks']

for tack in tracks:

track_list.append(

{'index': tack['index'], 'play_count': tack['playCount'], 'duration': tack['duration'], 'trackId': tack['trackId'], 'title': tack['title'],

'url': tack['url']})

# 加入字典(暂时没有使用)

track_map[tack['trackId']] = tack['title']

return track_list

  获取单个音频信息方法

  # 获取音频地址

def get_track_url(track_id):

url = "https://www.ximalaya.com/revision/play/v1/audio?id=" + str(track_id) + "&ptype=1"

resp = requests.get(url, headers=header)

result = resp.json()

if result['ret'] == 200:

track_audio_play = result['data']['src']

if len(track_audio_play) > 0:

return track_audio_play

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线