1. Write the curl class to crawl web 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_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 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") );
http://www.bkjia.com/PHPjc/323540.html
www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/323540.htmlTechArticle1. Write a curl class to capture web content. Copy the code. The code is as follows: class CurlUtil { private $curl; private $timeout = 10; /*** Initialize curl object*/ public function __construct...