네이버 메인에 노출된 실시간 검색어를 정규식으로 가져와봄
http://www.xpressengine.com/tip/18304443
원본은 @다비(kstjjs@naver.com) 이분이 만든것에 추가 해서
키워드 점수 상승 하강 여부와 점수 까지 가져오도록 수정함
//네이버 실시간 인기검색어 ( 네이버메인 ) function getPopularKeyword() { /** * @brief Get_PopularKeyword함수 * @return 네이버 인기검색어 순위를 원소로 하는 오브젝트 반환 */ $popret = range(1,10); $szServer = "www.naver.com"; $fp = fsockopen($szServer, 80, $errorno, $errstr, 30); $string = ""; if(!$fp) { printf("%s(%s)",$errstr, $errno); } else { fputs ($fp, "GET / HTTP/1.0\r\n\r\n"); while(!feof($fp)) { $string .= fgets($fp, 128); } fclose($fp); } $a = explode("<ol style=\"margin-top:0px;\" id=\"realrank\">", $string); $b = explode("</ol>", $a[1]); //$ret=iconv("utf-8","euc-kr",$b[0]); //euckr 에서 사용할경우 $ret = $b[0]; $c = explode("\n", $ret); $num = count($c); $output = Array(); $objectCount = 0; for($i=0; $i<=$num; $i++) { //키워드, 상승, 하강 여부 알아옴 preg_match_all('/<li[^>]+><a[^>]+title="(.*?)">(?:.*?)<span[^>]+>(.*?)<\/span>/i', $c[$i], $out, PREG_SET_ORDER); //키워드에 점수 여부를 알아옴 preg_match_all('/<span[^>]+class="rk">(.*?)<\/span>/i', $c[$i], $out_point, PREG_SET_ORDER); if ( $out[0][1] ) { //키워드가 있을경우 $output[$objectCount]->keyword = $out[0][1]; $output[$objectCount]->updown = $out[0][2]; if ( $out_point[0][1] ) $output[$objectCount]->point = $out_point[0][1]; else $output[$objectCount]->point = 0; } $objectCount++; } return $output; } //사용법 $a = getPopularKeyword(); echo '<pre>'; foreach ($a as $key => $val) { var_dump($val); } echo '</pre>';
출처 : http://code.p-ark.co.kr/291