爬虫-网易云音乐视频下载链接

查看网络请求,如下图,在左边箭头输入框输入mp4,右边链接即为真实的下载链接,不过这个链接有时效性。问题是怎么自己构造这样完整的链接或者能否在网页中找到?
在这里插入图片描述
往下拉,发现这个链接有两个参数,一个看起来是经过加密的,另一个参数则是时间戳。在这里插入图片描述
用第一个参数名在源码页面搜索试试,发现在页面里出现了两次,第一次如下图,在这里插入图片描述
把这个链接提出来解析看看是不是就是视频真实下载链接

import urllib.parse as parse
url = 'http%3A%2F%2Fvodkgeyttp8.vod.126.net%2Fcloudmusic%2FIDIwIDAgZWQwJDAgMSAwMA%3D%3D%2Fmv%2F5439243%2F59eb2b39fef7354514c5e767c9156a66.mp4%3FwsSecret%3De8fae21d7772111b6bb130ea1e06bcb7%26wsTime%3D1589115857'
real_url = parse.unquote(url)
print(real_url)

运行结果,一看确实是的,视频可以全屏,清晰度什么的和上面通过网络请求发现的视频链接一样

http://vodkgeyttp8.vod.126.net/cloudmusic/IDIwIDAgZWQwJDAgMSAwMA==/mv/5439243/59eb2b39fef7354514c5e767c9156a66.mp4?wsSecret=e8fae21d7772111b6bb130ea1e06bcb7&wsTime=1589115857

在这里插入图片描述
然后第二次出现在这个地方
在这里插入图片描述
同样把这段东西复制出来瞧瞧

text = 'hurl=http%3A%2F%2Fvodkgeyttp8.vod.126.net%2Fcloudmusic%2FIDIwIDAgZWQwJDAgMSAwMA%3D%3D%2Fmv%2F5439243%2Ff9de05a0aabea7e384354c41ed424990.mp4%3FwsSecret%3D21ed89ea2c65efd981c64deabf764eee%26wsTime%3D1589115857&murl=http%3A%2F%2Fvodkgeyttp8.vod.126.net%2Fcloudmusic%2FIDIwIDAgZWQwJDAgMSAwMA%3D%3D%2Fmv%2F5439243%2F59eb2b39fef7354514c5e767c9156a66.mp4%3FwsSecret%3De8fae21d7772111b6bb130ea1e06bcb7%26wsTime%3D1589115857&autoPlay=true&trackName=Dream It Possible&artistName=Delacey&resourceId=5439243&coverImg=http://p1.music.126.net/3PFVaUJN6u9Kz9liirZmzg==/18503681185620221.jpg&restrict=false&width=640&height=400'
text = text.split('&')
for i in text:
    print(i)

得到这样一些东西

hurl=http%3A%2F%2Fvodkgeyttp8.vod.126.net%2Fcloudmusic%2FIDIwIDAgZWQwJDAgMSAwMA%3D%3D%2Fmv%2F5439243%2Ff9de05a0aabea7e384354c41ed424990.mp4%3FwsSecret%3D21ed89ea2c65efd981c64deabf764eee%26wsTime%3D1589115857
murl=http%3A%2F%2Fvodkgeyttp8.vod.126.net%2Fcloudmusic%2FIDIwIDAgZWQwJDAgMSAwMA%3D%3D%2Fmv%2F5439243%2F59eb2b39fef7354514c5e767c9156a66.mp4%3FwsSecret%3De8fae21d7772111b6bb130ea1e06bcb7%26wsTime%3D1589115857
autoPlay=true
trackName=Dream It Possible
artistName=Delacey
resourceId=5439243
coverImg=http://p1.music.126.net/3PFVaUJN6u9Kz9liirZmzg==/18503681185620221.jpg
restrict=false
width=640
height=400

hurl、murl这两个链接和第一次出现的链接貌似一模一样!解析这俩链接看看

hurl, murl = text[0][5:], text[1][5:]
print(parse.unquote(hurl))
print(parse.unquote(murl))

结果如下,仔细比较了一下,虽然不是完全一样,但是这两个链接却都是能下载视频的,只是在网页中显示时,初始视频大小不一样
在这里插入图片描述
那么现在就可以直接从网页源码中提取到真正的视频下载链接。写程序的话得用selenium才行,这是因为这个链接处于一个iframe中,如下图,用requests是获取不到iframe中的源码的
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值