首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

收藏此问题 发表新评论

youku简单采集.

本帖最后由 ajaxer 于 2009-12-15 23:52 编辑

[php]
<?php
/**
author:ajaxer
date:2009-12-15
**/
set_time_limit(0);
$url="http://www.youku.com/playlist_show/id_2250354.html";//专辑地址
$_youkuhtml =file_get_contents($url);
preg_match("/<div class=\"pageBar\">(.*)<!--listData end-->/isU",$_youkuhtml,$pagebar);//分页区域
preg_match_all("/href=\"([^\"]+)/i", $pagebar[1], $pagelinks);//分页连接
//preg_match("/<div class=\"videos\">(.*)<!--videos end-->/isU",$_youkuhtml,$videos);//视频连接
preg_match_all("/<img class=\"QLiconB\".*id=\"PlayListFlag\_([^\"]+)/i", $_youkuhtml, $videoid);//视频id
$pagelinks=$pagelinks[1];//找出分页链接,
$totaolpage=count($pagelinks)-1;//算出共有几页
$baseurl="http://www.youku.com".substr($pagelinks[0],0,-6);
$vid=implode(",",$videoid[1]);//这个是视频id,用来播放视频用的,这个值要传到js的uplayer中.
/*
以下是找出专辑中所有视频的视频id
*/
for($i=1;$i<=$totaolpage;$i++){
$pages[]=$baseurl.$i.".html";
if($i>1){
  preg_match_all("/<img class=\"QLiconB\".*id=\"PlayListFlag\_([^\"]+)/i",
      file_get_contents($pages[$i-1]),
      $tempid
       );
  $vid.=implode(",",$tempid[1]);
}

}
$vid=explode(",",$vid);
?>
<html>
<head>
  <script type="text/javascript">
   function uplay(code)
   {
    var str="<EMBED pluginspage=http://www.macromedia.com/go/getflashplayer src=http://player.youku.com/player.php/sid/"+code+"=/v.swf width=\"100%\" height=\"100%\" type=application/x-shockwave-flash flashvars=\"isAutoPlay=true&Version=/v1.0.0304&winType=interior\" allowscriptaccess=\"always\" allowfullscreen=\"true\" quality=\"high\" bgcolor=\"#FFFFFF\" EnableContextMenu=\"1\"></EMBED>";
    document.getElementById('youkuplayer').innerHTML=str
   }

  </script>
</head>
<body>
  <div id="youkuplayer" style="width:400px;height:300px;border:1px solid red;float:left">
   
  </div>
  <div id="links" style="width:200px;float:left;margin-left:30px;border:1px solid red;">
   <?php
    foreach($vid as $k=>$v){
   ?>
   <a href="javascript:uplay('<?php echo $v;?>')"><?php echo ($k+1);?>集</a>
   <?php
    }
   ?>
  </div>
</body>
</html>
[/php]
昵称: ajaxer  时间: 2009-12-15 23:21:00
代码注释呢?
昵称: yoursjzz  时间: 2009-12-15 23:43:00
作个记号
昵称: uit88  时间: 2009-12-16 09:01:00
~~收藏~~
昵称: zhoushj  时间: 2009-12-16 09:54:00
需要~
昵称: evarainy  时间: 2009-12-16 13:53:00
路过。。
昵称: keminar  时间: 2009-12-17 11:23:00
看看
昵称: liuzhaoqing868  时间: 2010-01-03 21:38:00
收藏
昵称: lingandlan  时间: 2010-01-05 18:14:00
收藏
昵称: lingandlan  时间: 2010-01-05 18:14:00
搜藏
昵称: jliang  时间: 2010-01-20 11:10:00
都看不懂。 纠结
条码设备  www.fjboxin.com
昵称: fjboxin  时间: 2012-11-16 14:33:46