• 简单获取各大视频网站的flash地址


     

        最近做网站的时候遇到一个需求:给定一个视频地址,获取它的swf地址。例如,给一个优酷的视频地址:http://v.youku.com /v_show/id_XNDg4MzY5ODU2.html,想获取它的swf文件的地址,通常情况我们是通过爬取网页的方式来获取相关标签内的值,可 是这种方法有很多不便,效率不高,准确度不能得到保证,不同的网站筛选的方法也不一样,有的网站的flash地址是用js动态生成的(例如爱奇艺),这时 候通过爬取网页就得不到想要的结果了。

        今天突然想到新浪微博支持在发微博的时候直接插入视频地址,就想看看新浪是怎么做的。于是试着发一条带视频的微博,此时页面上并没有视频的真实地址,而是一张与视频相关的图片

     

    点击图片,出现了视频播放器。

    使用谷歌浏览器的开发人员工具查看,原来新浪是通过它自己的api来实现这一功能的。

    api地址:http://api.weibo.com/widget/show.jsonp?vers=3&lang=zh-cn&short_url=zjo0epu&template_name=embed&source=3818214747&jsonp=STK

    我们只需要关心short_url这个参数就行了,它就是视频的长网址转换后的短网址。

    这里给个长网址转短网址的api:http://weibo.com/aj/mblog/video?_wv=5&url=http%3A%2F%2Fv.youku.com%2Fv_show%2Fid_XNDg1MDkzODcy.html

    url参数换成你需要转换的网址就行了。

    返回结果:

    {"code":"100000","msg":"","data":{"url":"http://t.cn/zjxngLP","title":null}}

    另外加上jsonp=STK这个参数,返回的结果是html,不加这个参数返回的是json格式的数据。

    来看看结果吧

     

    复制代码
    <!-- 加jsonp=STK参数 -->
    
    <html>
     <head></head>
     <body>
      try{STK({&quot;result&quot;:&quot;
      <div>
       <div>
        <embed id="&quot;STK&quot;" height="&quot;356&quot;" allowscriptaccess="&quot;never&quot;" style="&quot;visibility:" visible;"="" pluginspage="&quot;http://get.adobe.com/cn/flashplayer/&quot;" flashvars="&quot;playMovie=true&amp;auto=1&quot;" width="&quot;440&quot;" allowfullscreen="&quot;true&quot;" quality="&quot;high&quot;" src="&quot;http://player.ku6.com/refer/uLsWSvMRa4YaFaeNBlo04Q../v.swf&quot;" type="&quot;application/x-shockwave-flash&quot;" wmode="&quot;transparent&quot;/" />
       </div>
      </div>&quot;});}catch(e){}
     </body>
    </html>
    复制代码
    <!-- 不加参数,返回的是json格式
    
    {"result":"<div><div><embed id="" height="356" allowscriptaccess="never" style="visibility: visible;" pluginspage="http://get.adobe.com/cn/flashplayer/" flashvars="playMovie=true&auto=1" width="440" allowfullscreen="true" quality="high" src="http://player.ku6.com/refer/uLsWSvMRa4YaFaeNBlo04Q../v.swf" type="application/x-shockwave-flash" wmode="transparent"/></div></div>"}

     

    可以看到返回结果中的src正是我们想要的内容。

  • 相关阅读:
    Coxph model Pvalue Select2
    Coxph model Pvalue Select
    WGCNA 分析
    Python 识别验证码
    Python2.X如何将Unicode中文字符串转换成 string字符串
    客户端putty xshell连接linux中vim不能正常使用小键盘的问题
    解决Selenium Webdriver执行测试时,每个测试方法都打开一个浏览器窗口的问题
    在Windows上,迁移VisualSVN server
    testNG设置测试的执行顺序
    重新加载maven项目的依赖项
  • 原文地址:https://www.cnblogs.com/ldms/p/3465902.html
Copyright © 2020-2023  润新知