中国第一Ajax站长门户:www.okajax.com   虚拟主机 域名注册 云主机

封装curl类抓取yahoo boss 搜索结果 - okajax.com - Ajax中国

我要投稿 会员登陆 RSS订阅 本站推荐:
您的位置主页 > 网页编程 > Php > 封装curl类抓取yahoo boss 搜索结果

封装curl类抓取yahoo boss 搜索结果

2011-07-04    文章来源:互联网    浏览次数:

1.编写curl类

 

  1. class CurlUtil    
  2. {    
  3.     private $curl;    
  4.     private $timeout = 10;    
  5.     
  6.     /**   
  7.      * 初始化curl对象   
  8.      */    
  9.     public function __construct()    
  10.     {    
  11.         $this->curl = curl_init();    
  12.         curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1);    
  13.         curl_setopt($this->curl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)");    
  14.         curl_setopt($this->curl, CURLOPT_HEADER, false); //设定是否显示头信息    
  15.         curl_setopt($this->curl, CURLOPT_NOBODY, false); //设定是否输出页面内容    
  16.         curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, $this->timeout);    
  17.         curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, true);    
  18.         curl_setopt($this->curl, CURLOPT_AUTOREFERER, true);    
  19.     }    
  20.     
  21.     /**   
  22.      * 注销函数 关闭curl对象   
  23.      */    
  24.     public function __destruct()    
  25.     {    
  26.         curl_close($this->curl);    
  27.     }    
  28.     
  29.     /**   
  30.      * 获取网页的内容   
  31.      */    
  32.     public function getWebPageContent($url)    
  33.     {    
  34.         curl_setopt($this->curl, CURLOPT_URL, $url);    
  35.         return curl_exec($this->curl);    
  36.     }    
  37. }   

2.采集页中创建curl对象

  1. $CurlUtil = new CurlUtil();  

3.抓取yahoo搜索结果的函数

  1. function  getYahooSearch(CurlUtil $curl$key)    
  2. {    
  3.     $key = urlencode($key);    
  4.     $searchUrl = "http://boss.yahooapis.com/ysearch/web/v1/$key?appid=你的雅虎appid&lang=tzh&region=hk&abstract=long&count=20&format=json&start=0&count=10";    
  5.       
  6.     $josnStr = $curl->getWebPageContent($searchUrl);    
  7.     $searchDataInfo = json_decode($josnStr, true);    
  8.     $searchData = $searchDataInfo['ysearchresponse']['resultset_web'];    
  9.     
  10.     $returnArray = array();    
  11.     if (!emptyempty($searchData)) {    
  12.         foreach ($searchData as $data) {    
  13.             $returnArray[] = array("url" => $data['url'], "date" => $data['date'], 'title' => strip_tags($data['title']), 'description' => strip_tags($data['abstract']));    
  14.         }    
  15.     }    
  16.     return $returnArray;    
  17. }   

4.显示采集结果

  1. var_dump(getYahooSearch($CurlUtil"百度"));   

 

文章评论(查看全部)

看不清楚?单击换一张。
loading.. 评论加载中....
关于我们 - 广告服务 - 版权隐私 - 免责声明 - RSS地图 - 网站地图 - 使用帮助 - 返回顶部