Home >Backend Development >PHP Tutorial >Implementation code for grabbing Yahoo boss search results through curl under PHP

Implementation code for grabbing Yahoo boss search results through curl under PHP

高洛峰
高洛峰Original
2016-11-30 10:23:19918browse

1. Write the curl class to capture web page content
Copy the code The code is as follows:
class CurlUtil
{
private $curl;
private $timeout = 10;
/**
* Initialize curl object
*/
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); //Set whether to display header information
curl_setopt($this->curl, CURLOPT_NOBODY, false); // Set whether to output page content
curl_setopt($this->curl, CURLOPT_CONNECTTIMEOUT, $this->timeout);
curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($this->curl , CURLOPT_AUTOREFERER, true);
}
/**
* Unregister function close curl object
*/
public function __destruct()
{
curl_close($this->curl);
}
/**
* Get the content of the web page
*/
public function getWebPageContent($url)
{
curl_setopt($this->curl, CURLOPT_URL, $url);
return curl_exec($this->curl);
}
}


2. Create curl object
Copy code The code is as follows:
$CurlUtil = new CurlUtil();

3. Grab yahoo search results
Copy the code The code is as follows:
function getYahooSearch(CurlUtil $curl, $key)
{
$key = urlencode($key);
$searchUrl = "http://boss.yahooapis.com/ysearch/web/v1/$key?appid=Your Yahoo 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. Test results
var_dump(getYahooSearch($CurlUtil, "Baidu"));

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn