시작페이지로 즐겨찾기추가
로그인
회원가입 l 출석체크 l 마이페이지 l CGIMALL
happycgi
자료실 사이트등록 랭킹100 프로그램리뷰 관리자추천자료 초보가이드
커뮤니티
전체 펼쳐보기
퀵메뉴링크 jquery , CSS , PHP , Javascript , 무료폰트 , ASP
상세검색
 > PHP > PHP 소스창고 > 클래스 및 함수 > 기타 > Snoopy 를 이용한 크롤러 상세정보
사이트등록
현재접속자 새로고침
Snoopy 를 이용한 크롤러
소스통계정보 오류신고 및 문의
해피팀
네티즌
트위터로 보내기 페이스북으로 보내기 싸이월드 공감
소스분류 기타
다운로드 횟수 23 회
간단설명 Snoopy 클래스를 이용한 크롤러 입니다. 사용된 Snoopy 버젼은 2.0.0 입니다.
평가하기 훌륭함 매우좋음 좋음 괜찮음 보통 별로
홈페이지바로가기 소스다운로드 데모 미리보기가 없습니다 스크랩하기

안녕하세요 이번에 소개해 드릴 자료는 Snoopy 를 이용한 사이트 크롤링 입니다.

첨부된 압축파일을 해제하시면 Snoopy 폴더와 index.php 파일이 있습니다.



Snoopy 사용방법에 대해서 먼저 설명합니다.

자 그럼 Snoopy 를 include 합니다.
include ('/설치경로/Snoopy/Snoopy.class.php'); 
(설치경로는 사용자 마다 다르기 때문에 알아서 수정하시기 바랍니다.)

이번엔 클래스를 생성 합니다.
$snoopy = new Snoopy;

그리고 사이트를 호출하여 정보를 출력해 볼께요.
$snoopy->fetch('http://www.naver.com');

결과물을 이미지로 한번 보죠.

 
제 PC에 설치된 Ubuntu 서버를 이용하여 로컬 환경을 구축했습니다.
PC 에 Ubuntu 설치하는 방법이 궁금하시면 아래의 링크를 클릭하세요.
[ windows 10에 Ubuntu 설치하자 ]


크롤링을 하려면 먼저 반복된 패턴이 필요 합니다.
예를 들면 html 태그 중 반복된 class 명이 있다거나 id 값이 있다거나 할 경우를 찾으시면 됩니다.

제가 좋아하는 낚시에 대해서 크롤링 예를 들어 보겠습니다.
지마켓의 특정 낚시 카테고리를 페이지를 예로 들겠습니다.
http://category.gmarket.co.kr/listview/List.aspx?gdmc_cd=200002448&ecp_gdlc=&ecp_gdmc=

html 소스를 보면 아래와 같은 규칙을 가지고 있습니다.


다른 리스트들과 중복되지 않는 값을 찾아야 하는데요.
<ul class="item_list type_list" id="searchListItems">
searchListItems 가 중복되지 않는 키 포인트가 되겠네요.

아이템을 가져오고 싶다면 ...
$snoopy->fetch('http://category.gmarket.co.kr/listview/List.aspx?gdmc_cd=200002448&ecp_gdlc=&ecp_gdmc=');
preg_match('/<ul class=\"item_list type_list\" id=\"searchListItems\">(.*?)<\/ul>/is', iconv("euc-kr","utf-8",$snoopy->results), $product_list);
print_r($product_list);
    //결과물 출력

위의 코드처럼 searchListItems을 이용하여 preg_match 하시면 원하시는 결과물을 가져올 수 있습니다.



첨부해 드린 코드보다 사용하기 좋거나 편한 것들도 많습니다.
그러나 한번쯤은 이런식으로 만들어서 사용해 보는것도 괜찮을듯 하여 ... 파일을 첨부하니 참고 해 주시구요.
여기서 부터는 응용하시면 점점 발전하는 크롤러를 만드실 수 있습니다. ^^*

 


네티즌 의견   이용하신 자료의 후기를 자유롭게 작성하세요. (상업적인 광고 및 도배성 글 등은 사전통보없이 삭제될 수 있습니다.)
내용 아이디 의견남기기
등록된 의견이 없습니다.
1
이름
내용
:네맞아요: :화나는군요: :잠와: :우울해: :이건아냐: :왕하하: 왕웃음~ 놀램~
도배방지키
 87293761 보이는 도배방지키를 입력하세요.