1.编写curl类,进行网页内容抓取 <div class="codetitle"><a style="CURSOR: pointer" data="23800" class="copybut" id="copybut23800" onclick="doCopy('code23800')"> 代码如下:<div class="codebody" id="code23800"> class CurlUtil { private $curl; private $timeout = 10; / 初始化curl对象 / public function __construct() { $this->curl = curl_init(); curl_setopt($this->curl,CURLOPT_RETURNTRANSFER,1); curl_setopt($this->curl,CURLOPT_USERAGENT,"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"); curl_setopt($this->curl,CURLOPT_HEADER,false); //设定是否显示头信息 curl_setopt($this->curl,CURLOPT_NOBODY,false); //设定是否输出页面内容 curl_setopt($this->curl,CURLOPT_CONNECTTIMEOUT,$this->timeout); curl_setopt($this->curl,CURLOPT_FOLLOWLOCATION,true); curl_setopt($this->curl,CURLOPT_AUTOREFERER,true); } / 注销函数 关闭curl对象 / public function __destruct() { curl_close($this->curl); } /* 获取网页的内容 */ public function getWebPageContent($url) { curl_setopt($this->curl,CURLOPT_URL,$url); return curl_exec($this->curl); } } 2.创建curl对象 <div class="codetitle"><a style="CURSOR: pointer" data="15514" class="copybut" id="copybut15514" onclick="doCopy('code15514')"> 代码如下:<div class="codebody" id="code15514"> $CurlUtil = new CurlUtil(); 3.抓取yahoo搜索结果 <div class="codetitle"><a style="CURSOR: pointer" data="93488" class="copybut" id="copybut93488" onclick="doCopy('code93488')"> 代码如下:<div class="codebody" id="code93488"> function getYahooSearch(CurlUtil $curl,$key) { $key = urlencode($key); $searchUrl = "http://boss.yahooapis.com/ysearch/web/v1/$key?appid=你的雅虎appid&lang=tzh®ion=hk&abstract=long&count=20&format=json&start=0&count=10"; $josnStr = $curl->getWebPageContent($searchUrl); $searchDataInfo = json_decode($josnStr,true); $searchData = $searchDataInfo['ysearchresponse']['resultset_web']; $returnArray = array(); if (!empty($searchData)) { foreach ($searchData as $data) { $returnArray[] = array("url" => $data['url'],"date" => $data['date'],'title' => strip_tags($data['title']),'description' => strip_tags($data['abstract'])); } } return $returnArray; } 4.测试结果 var_dump(getYahooSearch($CurlUtil,"百度")); (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|