- 论坛徽章:
- 1
|
来疯直播间模拟登录,抓取正在直播的房间ID并群发信息,来疯首页http://www.laifeng.com/,代码注释每个方法前都写的很清楚,我想这么几行代码没办要每行都加注释吧?请大家注意口德
最底行有DEMO下载地址
[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." ";
-
- // 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();
-
- ?>
复制代码 |
|