修改旧版skydrive-gae获取skydrive外链

wp本来有skydrive-directlink插件,但需要加[],这样的地址很多播放器不支持,并且只能局限在wp中使用。

skydrive-gae是另外一个解析skydrive链接的小程序,运行在Google App Engine上,其链接形式看起来就像一个文件,可直接喂播放器甚至下载工具。另外这种链接在需要解析时才会去解析,并且放在GAE上,不用担心影响wp性能。余大量使用这种形式做音乐试听。但上个月M$修改skydrive档案的链接格式,导致旧版skydrive-gae获取外链失效。于是决定动手改一下程序,适应变化。

旧程序使用正则表达式查找链接,被余修改后变得更加暴力。如果未来M$停止支持形如http://cid-********.skydrive.live.com/self.aspx/.Public/1.mp3的形式,怎么折腾都是没用的了,希望M$少折磨点余

新版的两个暴力函数

def get_dynamic_download_link(static_url):
    myopener = MyOpener()
    curl = "http://" + static_url
    doc = myopener.open(curl).read()
    m = doc.split('"download":"')
    u = m[1].split('?download&psid=1')
    dynamic_link = u[0]
    return dynamic_link

def replace_html_code(old_link):
    new_link = old_link.replace('\\/','/')
    new_link = new_link.replace('https://','http://')
    return new_link

python不能用tab,Notepad++回车直接就是tab,查错半天没查出来

新版skydrive-gae下载,修改app.yaml中的app名称,上传到google appengine,链接的形式和旧版一样

2011年7月5日 | 归档于 技术
  1. 2013年1月14日 03:52 | #1

    微软又修改了skydrive的文件获取规则 :cry:

  2. yesstars
    2012年5月9日 11:06 | #2

    熏子你好。从google过来看到你对skydive有所研究。现在请你帮忙用php写一个读取skydive的xml小程序,这样就能批量获取skydrive的链接。我所表达的需求你看一下这个地址,你就明白了:http://storage.live.com/items/A6CE5A322CDA6A23!105
    输入skydrive文件夹的真实地址后,是一个xml,会把文件夹的所有内容列出来,只要用程序读取来,就能批量获取了。谢谢。

  3. 2011年12月31日 21:51 | #3

    弱弱的问下:现在得到的链接地址是
    skydrive.live.com/redir.aspx?cid=4c3ac7e4ce5b6ee7&resid=4C3AC7E4CE5B6EE7!190&parid=4C3AC7E4CE5B6EE7!178
    这样….
    不知道得到这样的地址对不对?另外还是以前那样直接加到app后面?
    没有后缀名啊..

    • 2011年12月31日 22:48 | #4

      不用管它,继续用这种结构
      cid-xxxxxxxx.office.live.com/self.aspx/Public/目录/目录/文件名
      注意目录和文件名都只能是英文
      如果微软继续改那就没办法了
      补充一下,如果Public有问题,改成.Public试一下

  4. 2011年12月29日 22:49 | #5

    This project currently has no downloads.

    没有下载了….暂时只能把skydrive当图床使了…

发表评论

XHTML: 您可以使用这些标签: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
:wink: :-| :-x :twisted: :) 8-O :( :roll: :-P :oops: :-o :mrgreen: :lol: :idea: :-D :evil: :cry: 8) :arrow: :-? :?: :!: