当前位置 : 主页 > 网络编程 > PHP >

优酷来疯直播间模拟登录群发信息

来源:互联网 收集:自由互联 发布时间:2021-07-03
来疯直播间模拟登录,抓取正在直播的房间ID并群发信息,来疯首页http://www.laifeng.com/,代码注释每个方法前都写的很清楚,我想这么几行代码没办要每行都加注释吧?请大家注意口德
来疯直播间模拟登录,抓取正在直播的房间ID并群发信息,来疯首页http://www.laifeng.com/,代码注释每个方法前都写的很清楚,我想这么几行代码没办要每行都加注释吧?请大家注意口德
最底行有DEMO下载地址

1. [代码][PHP]代码    

<?php

//使用时必须先配置 
//$cookiefile(COOKIE 存放路径) 
//$user(用户名,优酷土豆来疯都行) 
//$pass(密码,优酷土豆来疯都行);

class laifeng

{

    //cookie存放路径

    private $cookiefile = "cookie.txt";

    //房间号

    private $id;

    //用户名

    private $user='1234@qq.com';

    //密码

    private $pass=12345678;

    //初始化ID

    public function __construct($idd=null){

        $this->id=$idd;

    }

    //模拟登录获取yktk

    public function getkey()

    {

        $user=urldecode($this->user);

        $pass=urldecode(md5($this->pass));

        $url = "http://www.laifeng.com/login/";

        $data = "userName=".$user."&password=".$pass."&forever=1&returnurl=http%3a%2f%2fwww.laifeng.com%2f7437";

        $ch = curl_init();

        curl_setopt($ch, CURLOPT_URL, $url);

        curl_setopt($ch, CURLOPT_HEADER, 0);

        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

        curl_setopt($ch, CURLOPT_POST, 1);

        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);

        curl_setopt($ch, CURLOPT_COOKIEJAR, $this->cookiefile);

        curl_setopt($ch, CURLOPT_COOKIEFILE, $this->cookiefile);

        curl_setopt($ch, CURLOPT_REFERER, "http://www.laifeng.com/login/");

        curl_setopt($ch, CURLOPT_USERAGENT,"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)");

        $info = curl_exec($ch);

        curl_close($ch);

        $y = json_decode($info, true);

        $yktk = $y['response'];

        return $yktk;

    }

    //获取cookie

    private function login(){

        $yktk=$this->getkey();

        if($yktk['code']!=0){

            echo $yktk['msg'];

            exit();

        }else{

            $url=$yktk['data'];

            $ch=curl_init();

            curl_setopt($ch,CURLOPT_URL,$url);

            curl_setopt($ch,CURLOPT_HEADER,1);

            curl_setopt($ch,CURLOPT_COOKIEFILE,$this->cookiefile);

            curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

            curl_setopt($ch,CURLOPT_REFERER,"http://www.laifeng.com/".$this->id);

            curl_setopt($ch,CURLOPT_COOKIEJAR,$this->cookiefile);

            curl_exec($ch);

            curl_close($ch);

            echo("<script>location.reload();</script>");

            return $yktk['msg'];

            //echo $y[1];

        }

    }

    //输出页面

    public function curl(){

        $this->login();

        $url="http://www.laifeng.com/".$this->id;

        $ch=curl_init();

        curl_setopt($ch,CURLOPT_URL,$url);

        curl_setopt($ch,CURLOPT_HEADER,0);

        curl_setopt($ch,CURLOPT_COOKIEFILE,$this->cookiefile);

        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

        curl_setopt($ch,CURLOPT_REFERER,"http://www.laifeng.com/".$this->id);

        curl_setopt($ch,CURLOPT_COOKIEJAR,$this->cookiefile);

        $info=curl_exec($ch);

        $info=str_replace('room/js','http://static.youku.com/ddshow/8125f00c/room/js',$info);

        curl_close($ch);

        return $info;

    }

    

    //获取用户名

    public function top(){

        $url="http://www.laifeng.com";

        $ch=curl_init();

        curl_setopt($ch,CURLOPT_URL,$url);

        curl_setopt($ch,CURLOPT_HEADER,1);

        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

        curl_setopt($ch,CURLOPT_REFERER,"http://www.laifeng.com/");

        curl_setopt($ch,CURLOPT_COOKIEFILE,$this->cookiefile);

        $m=curl_exec($ch);

        curl_close($ch);

        $mate="@<a class=\"user-name-link\" href=\"/my/profile/init\" target=\"_blank\" title=\"(.*)\">@iUs";

        preg_match_all($mate,$m,$arr);

        if(@$arr[1][0]){

            echo $arr[1][0]; 

        }else{

            echo("<script>alert('登录超时,正在尝试自动登录.....');</script>");

            echo $this->login();

        }

        

    }

    //发送信息模板

    public function msg($msg,$url){

        //$url="http://www.laifeng.com/room/7437/chat/save";

        $ch=curl_init();

        curl_setopt($ch,CURLOPT_URL,$url);

        curl_setopt($ch,CURLOPT_HEADER,0);

        curl_setopt($ch,CURLOPT_POST,1);

        curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

        curl_setopt($ch,CURLOPT_REFERER,"http://www.laifeng.com/".$this->id);

        curl_setopt($ch,CURLOPT_POSTFIELDS,$msg);

        curl_setopt($ch,CURLOPT_COOKIEFILE,$this->cookiefile);

        $info=curl_exec($ch);

        curl_close($ch);

        $arr=json_decode($info,true);

        if($arr['response']['code']==-2){

            echo("<script>alert('登录超时,正在尝试自动登录.....');</script>");

            echo $this->login();

        }else{

          echo $arr['response']['msg'];  

        }

    }

    //发送文字 参数为发送内容

    public function msgtxt($data){

        $msg="single=0&content=".urlencode($data)."&anchorId=0&roomId=".$this->id;

        $url="http://www.laifeng.com/room/".$this->id."/chat/save";

        return $this->msg($msg,$url);

    }

    

    //送花  参数为数量

    public function flower($data=1){

        $msg="roomId=".$this->id."&quantity=".$data;

        $url="http://www.laifeng.com/room/".$this->id."/star/send";

        return $this->msg($msg,$url);

    }

    //抓取正在直播的ID

    

}//laifeng class

class exe{

    //抓取房间ID

    public function anchor($pageid=1){

        $page=file_get_contents("http://www.laifeng.com/anchor/search?pageNo=".$pageid);

        //$count=file_get_contents("http://www.laifeng.com/anchor/search");

        $mage="@<p class=\"name\">(.*)<a href=\"/(.*)\" title=\"(.*)\" target=\"_blank\">(.*)</a>@iUs";

        $match="@//总页数(.*)totalNum:(.*),(.*)//当前页数@iUs";

        preg_match_all($mage,$page,$arr);

        preg_match_all($match,$page,$pagecount);

        $page=array();

        $page['count']=$pagecount[2][0];

        $page['data']=$arr[2];

        return $page;

    }

    //抓取房间总页数

    public function pagecount(){

        $page=file_get_contents("http://www.laifeng.com/anchor/search");

        $match="@//总页数(.*)totalNum:(.*),(.*)//当前页数@iUs";

        preg_match_all($match,$page,$arr);

        echo $arr[2][0];

    }

}

//$exe=new exe();

//$exe->pagecount();

//$arr=$exe->anchor(1);

//foreach($arr as $k=>$v){

//    $lai=new laifeng($v);

//    echo"房间ID:".$v."&nbsp;";

//    echo $lai->msgtxt('嗨');

//    echo"<br />";

//}



//echo $lai->msgtxt("这是一段测试文字1234");

//for($i=7437;$i<=7439;$i++){

//    $lai=new laifeng($i);

//   echo $lai->msgtxt("1111"); 

//}



//$lai->flower(1); 

//echo $lai->curl();

?>

2. [图片] QQ图片20150616184431.jpg    

网友评论