curl抓取信息
<?php $hotel = new curl(false,0); $str = $hotel -> post("http://www.todayinns.com/login.php?do=login",array("Referer"=>"","username"=>"18612690317","password"=>"2010"))->execute(); echo $hotel -> get("http://www.todayinns.com/my_jf.php")->execute();; /** * 一个基础的CURL类 * * @author Smala */ class curl{ public $ch; public $cookie = '/cookie'; public $rstr; public $info; public function __construct($ssl=true,$cookieName="tmp.cookie"){ $this -> cookie = dirname(__FILE__)."/".$cookieName; $this -> ch = curl_init(); curl_setopt($this -> ch ,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36');//设置用户代理 curl_setopt($this -> ch,CURLOPT_COOKIEJAR,$this -> cookie); curl_setopt($this -> ch,CURLOPT_COOKIEFILE,$this -> cookie); if($ssl){ curl_setopt($this -> ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($this -> ch, CURLOPT_SSL_VERIFYHOST, false); } curl_setopt($this -> ch,CURLOPT_RETURNTRANSFER,1); } public function set($opt){ foreach($opt as $key => $value) curl_setopt($this -> ch,$key,$value); return $this; } public function get($url,$data=array()){ $queryString = http_build_query($data); if(!empty($queryString)){ $url.= '?'.$queryString; } curl_setopt($this -> ch,CURLOPT_URL,$url); return $this; } public function setHeader($data=array()){ curl_setopt($this -> ch,CURLOPT_HTTPHEADER,$data); return $this; } public function post($url,$data = array()){ $post = ''; foreach($data as $key=>$value){ $post .= $key.'='.$value."&"; } $post = trim($post,'&'); curl_setopt($this -> ch,CURLOPT_URL,$url); curl_setopt($this -> ch,CURLOPT_POST,1); curl_setopt($this -> ch,CURLOPT_POSTFIELDS,$post); return $this; } public function execute($close=true){ $this -> rstr = curl_exec($this -> ch); $this -> info = curl_getinfo($this -> ch); if($close){ // curl_close($this -> ch); } return $this -> rstr; } public function close(){ curl_close($this -> ch); } }
$hotel = new curl(false,0); $str = $hotel -> post("http://www.todayinns.com/login.php?do=login",array("Referer"=>"","username"=>$_COOKIE['the_tel'],"password"=>$_COOKIE['password']))->execute(); $arrs = $hotel -> get("http://www.todayinns.com/my_ticket.php")->execute(); preg_match_all('/<dd class="c">(.*?)<\/dd>/is',$arrs,$tmp); preg_match_all( '/<tr[^>]*([\s\S]*?)<\/tr>/i', $tmp[1][0], $arr ); preg_match_all( '/<td>(.*?)<\/td>/i', $arr[1][1], $volume );
php资料