본문 바로가기
Program/PHP

RSS 피드를 이용해 인기 급상승 구글트렌드 검색 가져오기

by 너부리공작소 2017. 11. 27.
반응형

RSS 피드를 이용해 인기 급상승 구글트렌드 검색 가져오기


구글에서는 인기급상승 검색키워드를 매일 리포팅 해주는 서비스를 제공한다.


구글트렌드가 바로 그것인데, 이 데이터를 활용하려고 api 서비스를 찾아보았으나 따로 제공하는 페이지가 없다. (못찾은건지도,,)


암튼 그래서 여러가지 방법을 찾아보다가 구글에서 RSS 피드를 제공하는걸 발견했다.


피드는 20개정도씩 제공하는듯 하고, 상위에서 최신랭킹으로 보여준다. 


국가설정을 대한민국으로 설정하고 해당 피드 주소로 데이터를 가져와서 파싱해서 사용했다.


xml 형식 데이터라 데이터 구분이 다 되어 있어서 필요한 정보만 추리면 되니 어려운것도 없다.




구글트렌드에서 인기급상승 검색어페이지로 들어간다. 


https://trends.google.com/trends/hottrends 





화면 우측상단에 있는 점세개를 누르면 사이트 피드가 나온다. 




사이트피드를 통해 xml 데이터가 출력된 화면


각 필드별로 구분해서 데이터를 저장할수 있다.






$data = file_get_contents("https://trends.google.co.kr/trends/hottrends/atom/feed?pn=p23");

$item_arr = explode("<item>",$data);

$now = date("Ymd",strtotime("-1 day"));

$now2 = date("Y-m-d",strtotime("-1 day"));

$msg .="\n 구글 검색어로 보는 트랜드 $now2 \n\n";



for($ii=1; $ii<count($item_arr); $ii++) {

$item_arr[$ii] = iconv("utf-8","euc-kr",$item_arr[$ii]);

$title_exp = explode("<title>",$item_arr[$ii]);

$title = explode("</title>",$title_exp[1]);


$pubdate_exp = explode("<pubDate>",$item_arr[$ii]);

$pubdate = explode("</pubDate>",$pubdate_exp[1]);

$pDate = pDate($pubdate[0]);

if($now==$pDate) {

$li++;

$traffic = aTraffic($item_arr[$ii]); //=> 자체함수인 aTraffic 를 써서 조회수를 추출했다.

$news_title = aTitle($item_arr[$ii]);  //=> 자체함수인 aTitle 을 써서 제목을 추출했다.

$linkURL = "https://www.google.co.kr/search?tbm=nws&q=".urlencode($title[0]); //=> linkurl에 tbm=nws 변수를 넣어서 뉴스검색결과로 링크를 만들었다. 

$title_view = "[".$title[0]."]";

$msg .="$li $title_view 조회수 ${traffic}이상 \n $news_title \n $linkURL \n\n";

}

}



반응형

댓글