您好,欢迎访问一九零五行业门户网

php 正则表达式抓取网页内容

php 抓取网页内容优化
   我想在youku网抓取高清视频的链接,然后发到手机客户端那里,可是抓取的时间不理想(大概50个视频,电脑抓取显示在网页都要6秒多,发送到手机更要30秒),想问有什么优化方法呢?
回复讨论(解决方案) 换光纤    !
楼主是要抓链接吧,不是抓视频内容吧,用curl
楼主是要抓链接吧,不是抓视频内容吧,用curl
我现在用的是正则表达式抓取标签,时间太长了,你是说可以用curl来做?
有没有具体的思路
你可以把你的代码贴出来,看有没有可优化的地方。
你可以把你的代码贴出来,看有没有可优化的地方。
); $link=substr($substring, 0,$pos-1); $nexturl=$url.$link; $nextcontent=file_get_contents($nexturl); //获取视频图片 preg_match_all($reg2, $nextcontent,$img); $img_arr=$img[0]; foreach ($img_arr as $arr) { $position=strpos($arr, src); $sub=substr($arr, $position+5); $last=substr($sub, 0,$pos); } //获取视频高清点播地址 preg_match_all($reg3, $nextcontent,$vids); $video_arr=$vids[0]; $vid=$video_arr[0]; $position=strpos($vid, href); $v_string=substr($vid, $position+11); $pos=strpos($v_string, \); $add=substr($v_string, 0,$pos); $video_url=$url.$add; //获取视频的标题 preg_match_all($reg4, $nextcontent,$match); $title=$match[0]; $r=serialize($title); $position=mb_strpos($r,
); $sub=substr($r, 0,$position); $pos=mb_strrpos($sub, >); $til=substr($sub, $pos+1); $subarray=array('image'=>$last,'video'=>$video_url,'title'=>$til); array_push($resultarray, $subarray);}$resultjson=json_encode($resultarray);file_put_contents('web.txt', print_r($resultjson,true));
以上就是全部代码了..
foreach ($video as $key)
{
    $nextcontent=file_get_contents($nexturl);
    ...
我说换光纤吧,循环地 file_get_contents,6秒很便宜了
foreach ($video as $key)
{
    $nextcontent=file_get_contents($nexturl);
    ...
我说换光纤吧,循环地 file_get_contents,6秒很便宜了
?丝换不起
用curl_multi_exec()并发抓取
用curl_multi_exec()并发抓取
虽然还没弄好,但是大神提供了思路,也提供我学习的方向!
其它类似信息

推荐信息