본문
PHP로 네이버 카페 글 검색 목록 가져오기
Snoopy와 PHP Simple HTML DOM Parser 를 사용하여 웹페이지의 내용을 쉽게 가져올 수 있다. 이번에는 네이버 카페의 글을 검색하고, 그 결과를 출력하는 코드를 공개한다. 네이버 모바일 페이지가 용량도 적게 차지하고 분석하기가 용이하여 모바일 네이버 카페 페이지를 가져오기로 했다. 이 코드에서 중요한것은 clubid, menuid, query변수인데(이것만 변경하면 된다), 이것을 알아내기 위해서, 원하는 클럽의 (왼쪽에 나열되는)해당 메뉴에서 아무 게시물을 클릭하면 주소창에 clubid, menuid 가 뜨게 되며 query에는 자신이 검색하기 원하는 단어를 입력하면 된다.
url 변수를 통해 기본적으로 최신 게시물을 먼저 검색하게 해놓았으며, 정확도를 기준으로 검색하고자 한다면 search.sortBy를 sim으로 설정하면 된다. 유의할 사항은, 글이 올라오자마자 바로 검색이 되지 않고 약 30분 이후에야 검색결과로서 뜨기 때문에 실시간성을 원한다면 또 다른 처리를 해주어야 한다.
이 소스의 실행 결과로서 그림의 왼쪽과 같이 검색 결과가 나열되게 되고(이것은 소스를 보기좋게 정리해 놓은것), 이것을 개발자가 처리하여 보기 쉬운 형태로 가공해야 한다. 이것은 방문자에게 숙제?로 남긴다? 이 소스에서의 기능은 매우 간단한 것이고, 이를 발전시킨다면, 로그인 한 상태에서 검색하기, RSS로 만들어서 실시간 알림받기 등을 할 수 있다.
<?
header("Content-Type: text/html; charset=UTF-8");
include_once('./simple_html_dom.php');
include_once('./Snoopy.class.php');
$clubid='10050146';
$menuid='395';
$query='s100';
$url="http://m.cafe.naver.com/ArticleSearchList.nhn?search.clubid=$clubid&search.sortBy=date&search.searchBy=0&search.query=$query&search.menuid=$menuid"
$snoopy = new Snoopy;
$snoopy->fetch($url);
$html =new simple_html_dom();
$html->load($snoopy->results);
$lists=$html->find('.lst4 li');
foreach($lists as $list){
echo $list;
}
?>
댓글