开发视频收藏功能时候,需要根据视频网站如优酷、酷6、土豆网的一个视频链接,能自动获取该视频的真实链接和相对应视频的截图。类似与校内的分享视频的功能~~~~

下面以优酷为例:
假设我们给任意一个优酷视频网址:http://v.youku.com/v_show/id_XMTA0NTM2MzI4.html
要注意一点:优酷网上的视频地址较早些的是:http://v.youku.com/v_show/id_XNTM3MDg2ODA=.html
注意上面的一点点区别,最后有个“=”。
通过分析优酷视频网站的页面内容特点,利用php结合正则表达式,过滤获取我们想要的信息。具体参见下面功能函数。

//优酷视频地址,如http://v.youku.com/v_show/id_XMTA0NTM2MzI4.html
$link = ’http://v.youku.com/v_show/id_XMTA0NTM2MzI4.html‘;
$host = 'youku.com';
function getVideoInfo($link, $host) {

$return = array();
 if('youku.com' == $host) {
  //分析视频网址,获取视频编码号
  preg_match_all("/id\_(\w+)[\=|.html]/",$link, $matches);
  if(!empty($matches[1][0])){
   $return['flashvar']= $matches[1][0];
  }
               //获取视频页面内容,存与$text中
  $text=file_get_contents($link);
               //获取视频标题
  preg_match("/<title>(.*?)-(.*)<\/title>/", $text, $title);
               //获取优酷网上某一视频对应的视频截图,经分析,视频的截图的图片地址在该视频页面html代码里以<liclass="download"></li>标记里的最后一个http://vimg....
例如http://vimg20.yoqoo.com/0100641F4649B9D27344B00131FBB6AFDF5175-7D35-930B-E43C-99C59F918E00
  preg_match_all("/<liclass="download"(.*)<\/li>/",$text,$match2);
  preg_match("/http:\/\/vimg(.*)\|"\>/",$match2[1][0],$imageurl);
  if(!empty($imageurl[1])) {
   $return['imageurl']= 'http://vimg'.$imageurl[1];
  }
  if(!empty($title)) {
   $return['title']= $title[1];
  }
 } elseif('ku6.com' == $host) {
  // http://v.ku6.com/show/bjbJKPEex097wVtC.html
  // http://v.ku6.com/special/index_3628020.html
              //对于酷6网,末尾以index_开头的地址需要另外分析其视频编码
  $text=file_get_contents($link);
  preg_match_all("/\/([\w\-]+)\.html/",$link, $matches);
  if(1> preg_match("/\/index_([\w\-]+)\.html/", $link)&& !empty($matches[1][0])) {
   $return['flashvar']= $matches[1][0];
  }else{
   preg_match_all("/refer\/(.*)\/v.swf/",$text,$videourl);
   $return['flashvar']= $videourl[1][0];
  } 
  preg_match("/<title>(.*?)-(.*)<\/title>/", $text, $title);
               //经分析,酷六的视频截图地址在视频页面的<spanclass="s_pic“></span>标签之间
  preg_match_all("/<spanclass="s_pic">(.*)<\/span>/",$text,$imageurl);
  if(!empty($imageurl[1][0])) {
   $return['imageurl']= $imageurl[1][0];
  }
  if(!empty($title)) {
   $return['title']= $title[1];
  }  
 }elseif ('tudou.com' == $host){
  //http://www.tudou.com/programs/view/_ke1lzCnBYw/
  $tudou =file_get_contents($link); 
  preg_match_all("/view\/([\w\-]+)\//",$link, $matches);
  if(!empty($matches[1][0])){
   $return['flashvar']= $matches[1][0];
  }  
  preg_match("/<title>(.*?)-(.*)<\/title>/", $tudou, $title);
  preg_match_all("/<spanclass="s_pic">(.*)<\/span>/",$tudou,$imageurl);
  if(!empty($imageurl[1][0])) {
   $return['imageurl']= $imageurl[1][0];
  }  
  if(!empty($title)) {
   $return['title']= $title[1];
  }   
 }
 return $return;
}

php分析抓取视频网站视频链接与截图相关推荐

  1. 网络爬虫---抓包分析,用抓包分析爬取腾讯视频某视频所有评论(Fiddler工具包的分享)

    抓包分析,用抓包分析爬取腾讯视频某视频所有评论(Fiddler工具包的分享) 文章目录 抓包分析,用抓包分析爬取腾讯视频某视频所有评论(Fiddler工具包的分享) 一.抓包分析 1.下载工具并安装 ...

  2. 使用javascript在各大视频网站一键抓取无水印m3u8格式视频并将视频下载成mp4格式(以Google抓取腾讯视频为例)

    两三天没有更新博客了,最近博主有点夏乏(其实是懒),今日在划水的时候无意中学到了使用javascrpit抓取m3u8格式视频的小技巧,因此进行延伸并作此博客进行记录.接下来,我将使用javascrip ...

  3. blob的真实地址怎么获得_使用Python抓取m3u8加密视频 续:获得index.m3u8 地址

    之前写<使用Python抓取m3u8加密视频>笔记的原因,是自己有几个视频想保存,但对于m3u8, .ts 文件拼接不熟悉,就尝试写个脚本练手. 今天看了回复,有同学想知道如何从视频网站上 ...

  4. python 爬取加密视频_使用Python抓取m3u8加密视频 续:获得index.m3u8 地址

    之前写<使用Python抓取m3u8加密视频>笔记的原因,是自己有几个视频想保存,但对于m3u8, .ts 文件拼接不熟悉,就尝试写个脚本练手. 今天看了回复,有同学想知道如何从视频网站上 ...

  5. python抓取腾讯视频弹幕_Python实战 | 如何抓取腾讯视频弹幕

    原标题:Python实战 | 如何抓取腾讯视频弹幕 当代年轻人的快乐是网络给的. 如果有人吐槽周末太无聊,他们一定会反驳: 是追剧不香吗? 是吃鸡不好玩吗? 周末辣么短,怎么会无聊呢? 诚然,追剧和游 ...

  6. Python爬虫实战,requests模块,Python实现抓取腾讯视频弹幕评论

    前言 利用Python实现抓取腾讯视频弹幕,废话不多说. 让我们愉快地开始吧~ 开发工具 Python版本: 3.6.4 相关模块: requests模块: pandas模块 以及一些Python自带 ...

  7. 在linux下vcd光盘提取,linux下抓取Vcd的视频文件[Linux安全]

    赞助商链接 本文"linux下抓取Vcd的视频文件[Linux安全]"是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判 ...

  8. python抓取视频违法吗,科学网—【python爬虫】抓取B站视频相关信息(一) - 管金昱的博文...

    昨天我在B站上写了这么一篇文章,但是被他们锁住了.无奈之下我复制到知乎上先保存起来 在这篇名为<三天学会用python进行简单地爬取B站网页视频数据>文章中我主要提到了两点在已知aid的情 ...

  9. Python爬虫实现抓取腾讯视频所有电影-源码【实战必学】

    用python实现的抓取腾讯视频所有电影的爬虫 1. # -*- coding: utf-8 -*-2. import re3. import urllib24. from bs4 import Be ...

  10. python怎么爬网站视频教程_python爬虫爬取某网站视频的示例代码

    把获取到的下载视频的url存放在数组中(也可写入文件中),通过调用迅雷接口,进行自动下载.(请先下载迅雷,并在其设置中心的下载管理中设置为一键下载) 实现代码如下: from bs4 import B ...

最新文章

  1. Linux下查看系统信息
  2. 自己动手用Springboot实现仿百度网盘
  3. Android Wifi开发之WifiConfiguration
  4. bzoj 1146 [CTSC2008]网络管理Network
  5. Python之递归函数
  6. linux tcpdump抓包,wireshark实时解析
  7. 三种背包问题的例题(各一道)
  8. tomcat启动时SecureRandom耗时
  9. 海园帮忙写的JQUERY功能,实现了我们想要的,我觉得有点屌哟~~
  10. 【Python配置】Win10配置Python3、Numpy、PyCharm、Anaconda
  11. python中怎样划分时间段_如何划分重叠的日期时间间隔(组织模式时钟时间)?...
  12. 微信小程序实战十三:狗狗小程序云搭建
  13. vue spa项目转服务器渲染
  14. 学会一招!如何利用 pandas 批量合并 Excel?
  15. EDK2编译报错,请帮我看看这个是什么错误
  16. 《Computer Graphics with OpenGL》计算机图形学读书笔记 02——计算机图形学软件
  17. iPhone14pro紫色“掉漆”/ 苹果英伟达拒绝台积电涨价/ DALL·E取消排队...今日更多新鲜事在此...
  18. 实在智能签约上海联通,共创美好智慧生活
  19. Webshell(网页后门)
  20. Java读取MARC元数据 代码

热门文章

  1. python翻页_如何用python tkiner实现图片翻页功能
  2. 使用腾讯云IM遇到的问题
  3. 华清远见重庆中心—面向对象技术总结/个人总结
  4. 计算机如何通过手机连接网络打印机,如何让手机连接上打印机,原来是这样的...
  5. 转载自Eva_J的作业
  6. Ubuntu——安装搜狗拼音输入法
  7. WPF中的形状Shape与几何图形Geometry详解
  8. # Jackson 学习使用
  9. 项目实战---模拟凡客网
  10. 微信小程序之分包加载,解决代码超过2M的方法