1. 웹 콘텐츠를 크롤링하기 위한 컬 클래스 작성
코드 복사
class CurlUtil
{
private $curl
private $timeout = 10;
/**
* 컬 객체 초기화
*/
공용 함수 __construct()
{
$this->curl =curl_init()
curl_setopt($this->curl, CURLOPT_RETURNTRANSFER; , 1) ;
curl_setopt($this->curl, CURLOPT_USERAGENT, "Mozilla/4.0(호환; 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); /**
* 등록 취소 기능 닫기 컬 개체
*/
공용 함수 __destruct()
{
curl_close($this->curl)
}
/**
* 웹페이지 콘텐츠 가져오기
*/
public function getWebPageContent($url)
{
curl_setopt($this->curl, CURLOPT_URL, $url)
return curl_exec($this->curl)
}
2. 컬 객체 생성
코드 복사
$CurlUtil = new CurlUtil()
3.
코드 복사
function getYahooSearch(CurlUtil $curl, $key)
{
$key = urlencode($key)
$searchUrl = "http:/ /boss.yahooapis.com/ysearch /web/v1/$key?appid=Yahoo 앱 ID&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']; 🎜>if (!empty( $searchData)) {
foreach ($searchData as $data) {
$returnArray[] = array("url" => $data['url'], "date " => $data[ '날짜'], '제목' => 스트립_태그($data['제목']), '설명' => 스트립_태그($data['추상']));
}
}
return $returnArray;
}
4. 테스트 결과
var_dump(getYahooSearch($CurlUtil, "Baidu"));