<?php
include_once "./_common.php";
//네이버 실시간 인기검색어 ( 네이버메인 )
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>';
?>
'IT > PHP' 카테고리의 다른 글
제로보드 구조 파헤치기 1탄 (0) | 2015.06.26 |
---|---|
이미지 태그만 뽑아오는 정규표현식 php (0) | 2014.10.31 |
PHP 리다이렉션(페이지 이동)의 3가지 방법 (0) | 2014.10.28 |
뽐뿌 rss 파싱 (0) | 2014.10.25 |
How to install Redis and Redis php client (0) | 2014.10.20 |