php下通過curl抓取yahoo boss 搜索結(jié)果的實(shí)現(xiàn)代碼
更新時(shí)間:2011年06月10日 00:29:44 作者:
php下通過curl抓取yahoo boss 搜索結(jié)果的實(shí)現(xiàn)代碼,需要的朋友可以參考下。
1.編寫curl類,進(jìn)行網(wǎng)頁內(nèi)容抓取
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); //設(shè)定是否顯示頭信息
curl_setopt($this->curl, CURLOPT_NOBODY, false); //設(shè)定是否輸出頁面內(nèi)容
curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, $this->timeout);
curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($this->curl, CURLOPT_AUTOREFERER, true);
}
/**
* 注銷函數(shù) 關(guān)閉curl對象
*/
public function __destruct()
{
curl_close($this->curl);
}
/**
* 獲取網(wǎng)頁的內(nèi)容
*/
public function getWebPageContent($url)
{
curl_setopt($this->curl, CURLOPT_URL, $url);
return curl_exec($this->curl);
}
}
2.創(chuàng)建curl對象
$CurlUtil = new CurlUtil();
3.抓取yahoo搜索結(jié)果
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.測試結(jié)果
var_dump(getYahooSearch($CurlUtil, "百度"));
復(fù)制代碼 代碼如下:
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); //設(shè)定是否顯示頭信息
curl_setopt($this->curl, CURLOPT_NOBODY, false); //設(shè)定是否輸出頁面內(nèi)容
curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, $this->timeout);
curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($this->curl, CURLOPT_AUTOREFERER, true);
}
/**
* 注銷函數(shù) 關(guān)閉curl對象
*/
public function __destruct()
{
curl_close($this->curl);
}
/**
* 獲取網(wǎng)頁的內(nèi)容
*/
public function getWebPageContent($url)
{
curl_setopt($this->curl, CURLOPT_URL, $url);
return curl_exec($this->curl);
}
}
2.創(chuàng)建curl對象
復(fù)制代碼 代碼如下:
$CurlUtil = new CurlUtil();
3.抓取yahoo搜索結(jié)果
復(fù)制代碼 代碼如下:
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.測試結(jié)果
var_dump(getYahooSearch($CurlUtil, "百度"));
您可能感興趣的文章:
- ThinkPHP5+UEditor圖片上傳到阿里云對象存儲(chǔ)OSS功能示例
- Thinkphp整合阿里云OSS圖片上傳實(shí)例代碼
- ThinkPHP 3使用OSS的方法
- thinkPHP簡單導(dǎo)入和使用阿里云OSSsdk的方法
- php版阿里云OSS圖片上傳類詳解
- php使用curl模擬瀏覽器表單上傳文件或者圖片的方法
- php中上傳文件的的解決方案
- PHP上傳文件及圖片到七牛的方法
- PHP+Ajax實(shí)現(xiàn)上傳文件進(jìn)度條動(dòng)態(tài)顯示進(jìn)度功能
- PHP實(shí)現(xiàn)通過CURL上傳文件功能示例
- php實(shí)現(xiàn)表單提交上傳文件功能
- 詳解PHP使用OSS上傳文件
相關(guān)文章
詳解PHP實(shí)現(xiàn)異步調(diào)用的4種方法
這篇文章主要為大家詳細(xì)介紹PHP實(shí)現(xiàn)異步調(diào)用的4種方法,感興趣的小伙伴們可以參考一下2016-03-03PHP實(shí)現(xiàn)MVC開發(fā)得最簡單的方法——模型
PHP實(shí)現(xiàn)MVC開發(fā)得最簡單的方法——模型...2007-04-04php基于環(huán)形鏈表解決約瑟夫環(huán)問題示例
這篇文章主要介紹了php基于環(huán)形鏈表解決約瑟夫環(huán)問題,結(jié)合具體實(shí)例形式分析了php環(huán)形鏈表的定義及基于環(huán)形鏈表解決約瑟夫環(huán)的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2017-11-11PHP編程實(shí)現(xiàn)陽歷轉(zhuǎn)換為陰歷的方法實(shí)例
這篇文章主要介紹了PHP編程實(shí)現(xiàn)陽歷轉(zhuǎn)換為陰歷的方法,結(jié)合具體實(shí)例形式分析了php陰歷操作類的定義與使用技巧,需要的朋友可以參考下2017-08-08