- <?php
- //使用时必须先配置
- //$cookiefile(COOKIE 存放路径)
- //$user(用户名,优酷土豆来疯都行)
- //$pass(密码,优酷土豆来疯都行);
- class laifeng
- {
- //cookie存放路径
- private $cookiefile = "cookie.txt";
- //房间号
- private $id;
- //用户名
- private $user='1234@qq.com';
- //密码
- private $pass=12345678;
- //模拟登录获取yktk
- public function __construct($idd=null){
- $this->id=$idd;
- }
- 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." ";
- // 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();
- ?>
- //该片段来自于http://www.codesnippet.cn/detail/1606201512865.html
来源: http://www.codesnippet.cn/detail/1606201512865.html