之前得知微软提供的免费在线云存储空间Skydrive提供的空间大小达25GB的时候,就像其他人一样想到了可以用来存储音视频和图片,作为文件存储器,以便和别人分享文件。但是后来发现,skydrive中上面文件连接,通过系统提供的方式,只能找到一些重定向的地址,无法用于直接下载和用其他一些播放器播放,和无法用于我此处想要的wordpress中用Audio Player播放所需要的,对于mp3,是以.mp3为结尾的链接。
后来就去折腾了,用python脚本去实现对应的解析,给定一个用户的skydrive的主入口地址,解析出其下所公开分享的文件的真实的地址。
具体的分析过程,参见:
【已解决】如何获得Skydrive中文件(包括MP3歌曲)(以mp3为后缀)的真实下载地址
花了一番精力去写脚本,最后虽然没有通过通过url encoded的链接的方式获得,对应的网页内容以供解析,但是却发现直接访问这样的地址:
https://skydrive.live.com/?cid=9a8b8bf501a38a36&id=9A8B8BF501A38A36%21504
其中:
cid=9a8b8bf501a38a36=skydrive的主入口地址中所包含的字符串=指的是用户的id
而后面的:
id=9A8B8BF501A38A36%21504=9A8B8BF501A38A36!504=cid + ! + 文件ID
表示对应的文件夹。
用python中的urllib打开上述的地址,是可以解析出想要的内容的,其中包含了类似于这样的地址:
其地址形式为: https:// 某个主站的域名 / 好像是随机或者用某种算法而产生的一个字符串 / quote过后的文件全名
而之前误以为这样的地址,就是该文件的永久链接呢,所以脚本写完了,很是高兴,以为就可以解析对应的文件,将地址放到wordpress中用audio player去播放了。
后来才发现,原来这样的地址,是过一段时间就会变的,比如变成这样:
不是该文件的真实的物理的永久链接地址,所以前面是白高兴了一场。
后来在获取Skydrive的真实地址中发现了别人所所所说的skydrive上的永久的,不会变的文件链接地址是类似于这样的:
即:http://storage.live.com/items/ +文件ID + ?filename= + quoted之后的文件全名
而后经过自己去实际测试,发现这样的地址,的确也是可以直接下载以及用于wordpress中的audio player中去播放的,是有效的文件的固定链接。
所以,就又去更新对应的python脚本,完成了解析出真正的文件的永久链接。
下面放出来,供需要的朋友使用:
提取Skydrive中文件和文件夹的真实地址(支持文件下载)的Python脚本
转载请注明:在路上 » 用Python脚本去获得skydrive上文件的真实地址链接 + 提供脚本下载v2012-01-18