程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php下通過curl抓取yahoo boss 搜索結果的實現代碼

php下通過curl抓取yahoo boss 搜索結果的實現代碼

編輯:PHP綜合
1.編寫curl類,進行網頁內容抓取
復制代碼 代碼如下:
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對象
復制代碼 代碼如下:
$CurlUtil = new CurlUtil();

3.抓取yahoo搜索結果
復制代碼 代碼如下:
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, "百度"));
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved