因为对方已经关闭了allow_url_fopen等,用file_get_contents、fopen 和 curl 都不管用。请问还有没有别的办法
这是我尝试抓的一个网地址,是优酷的http://v.youku.com/v_show/id_XMjMyODQ3MDYw.html。有哪位成功了,麻烦告诉我一下。
这是我尝试抓的一个网地址,是优酷的http://v.youku.com/v_show/id_XMjMyODQ3MDYw.html。有哪位成功了,麻烦告诉我一下。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>小满第一视角:新英雄巨牙海民激情gank - 视频 - 优酷视频 - 在线观看</title>
<meta name="title" content="小满第一视角:新英雄巨牙海民激情gank - 视频 - 优酷视频 - 在线观看">
<meta name="keywords" content="小满第一视角:新英雄巨牙海民激情gank - DOTA 第一视角 VS1房 小满 新英雄 巨牙海民 ">
<meta name="description" content="小满第一视角:新英雄巨牙海民激情gank 视频最后1分多钟转码转坏了。我传的源文件是能看的。结果自然大家都懂的啦^_^" />
<link href="http://static.youku.com/v1.0.0633/index/css/global.css" type="text/css" rel="stylesheet" />
<link href="http://static.youku.com/v1.0.0633/v/css/play.css" type="text/css" rel="stylesheet" />
<script type="text/javascript" src="http://static.youku.com/v1.0.0633/js/prototype.js"></script>
<script type="text/javascript" src="http://static.youku.com/v1.0.0633/js/nova.js"></script>
<script type="text/javascript" src="http://static.youku.com/v1.0.0633/index/js/common.js"></script>
<script type="text/javascript" src="http://static.youku.com/v1.0.0633/index/js/hovervp.js"></script>
<script type="text/javascript" src="http://static.youku.com/v1.0.0633/v/js/v4/v4.js"></script>
<script type="text/javascript">if (!window.Nova) Nova={};
Nova.QVideo = {
_name : 'QVideo',
isNeedVerify : function(param, callback, id) { return nova_call('/QVideo/~ajax/isNeedVerify', param, callback, id); },
getVideoPlayInfo : function(param, callback, id) { return nova_call('/QVideo/~ajax/getVideoPlayInfo', param, callback, id); },
getLastVideoInfo : function(param, callback, id) { return nova_call('/QVideo/~ajax/getLastVideoInfo', param, callback, id); },
usertags : function(param, callback, id) { return nova_call('/QVideo/~ajax/usertags', param, callback, id); },
videoStatus : function(param, callback, id) { return nova_call('/QVideo/~ajax/videoStatus', param, callback, id); },
logon : function(param, callback, id) { return nova_call('/QVideo/~ajax/logon', param, callback, id); },
comment : function(param, callback, id) { return nova_call('/QVideo/~ajax/comment', param, callback, id); },
addFav : function(param, callback, id) { return nova_call('/QVideo/~ajax/addFav', param, callback, id); },
deleteComment : function(param, callback, id) { return nova_call('/QVideo/~ajax/deleteComment', param, callback, id); },
updown : function(param, callback, id) { return nova_call('/QVideo/~ajax/updown', param, callback, id); }
};</script>
<script type="text/javascript">
var un_ame='';
var videoId = '58211765';
var videoId2= 'XMjMyODQ3MDYw';
var version="/v1.0.0633";
var tags="DOTA|%E7%AC%AC%E4%B8%80%E8%A7%86%E8%A7%92|VS1%E6%88%BF|%E5%B0%8F%E6%BB%A1|%E6%96%B0%E8%8B%B1%E9%9B%84|%E5%B7%A8%E7%89%99%E6%B5%B7%E6%B0%91|";var aoutds = Array("video.baidu.com","www.soku.com","www.video.baidu.com","www.baidu.com","search.baidu.com");
var adr = document.referrer;
var aoutds_ua = navigator.userAgent.toLowerCase();
var aoutds_isFF = aoutds_ua.indexOf('firefox') >= 0;
var aoutds_isIE = (aoutds_ua.indexOf('msie') >= 0 && aoutds_ua.indexOf('opera') < 0);
var aoutds_isSFR = aoutds_ua.indexOf('safari') >= 0;
if(parent&&((aoutds_isIE&&parent!=document)||((aoutds_isFF||aoutds_isSFR)&&parent!=window))&&adr!=""&&adr!=self.location){
var isAOUTD = false;var adrs = adr.match(/\:\/\/([\w\.\-\d]+)\//g);
for(var ai=0;ai<aoutds.length;ai++){
if((typeof adrs == "string" && adrs == "://"+aoutds[ai]+"/") ||
((typeof adrs == "object" && adrs.length>0 && adrs[0] == "://"+aoutds[ai]+"/"))){
isAOUTD = true;break;}}
if(isAOUTD == false) parent.location=self.location;
}</script>
<script type="text/javascript">
var ab_ad1=function(pip_pre){
if(!pip_pre){
Nova.addScript("http://html.atm.youku.com/html?p=187,569&k="+tags+"&t="+(new Date).getTime());
if($('ab_pip_pre'))Element.hide("ab_pip_pre");
Element.hide("ab_187"); Element.hide("ab_569");
}
setTimeout('ab_ad1(false)',10*60*1000);
}
var show_pip=function(){
Element.show("ab_pip_pre"); Element.hide("ab_187"); Element.hide("ab_569");
}
</script>
</head>linux下用curl捕获到的...
抓下来的html,IE显示是完整的,只不过发帖字符有限制,发不全!!
你的会转到404因为JS代码跳转 YOUKU的网站小偷根本没任何难度 他们也没做什么防盗
$url = "http://v.youku.com/v_show/id_XMjMyODQ3MDYw.html";
$surl = "http://www.youku.com/";
$cookie_file = dirname(__FILE__)."/temp/youku.txt";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, $surl);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_NOBODY, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); // 允许自动跳转
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
//curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
$contents = curl_exec($ch);
curl_close($ch);
if(preg_match("/videoId2= '(.*?)';/is",$contents,$match)){
$cont = $match[1];
$out = "<a href=\"http://player.youku.com/player.php/sid/".$cont."/v.swf\" target=\"_blank\">http://player.youku.com/player.php/sid/".$cont."/v.swf</a>";
echo $cont ."<br>".$out;
exit ;
}
其实也不需要采集,
http://v.youku.com/v_show/id_XMjMyODQ3MDYw.html这个地址少做改动就能达到目的