php下通过curl抓取yahoo boss 搜索结果的实现代码

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&region=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,"百度"));

boss搜索结果

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...