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

高洛峰
Release: 2023-03-01 11:22:02
Original
895 people have browsed it

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"));

Related labels:
php
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!