사이트긁어오기
-
PHP 스누피로 사이트 긁어오기가 되지 않는 사이트를 긁어오는 3가지 방법파싱의 추억 2010. 4. 19. 00:31
사이트를 긁어오기를 하다보면 fsockopen(): unable to connect to 라는 에러가 나면서 사이트 긁어오기가 되지 않는 경우가 종종있다. 특히 외국 사이트중에 그런 곳이 많다. 사이트를 방문하지 않고 내용만 쏙 빼가는게 탐탁치 않아서 막아 놓은경우도 있고, 국가적인 차원에서 차단을 시킨경우도 있다. 예를 들어 , 일본 최대 AV 회사중에 하나인 DMM은 한국에서 들어오는 방문자를 차단시켜놓았다. 실제로 AV를 구매하지도 않으면서 트래픽은 엄청나게 잡아 먹기 때문이다. 또 다른예로 , 미국 국가 기관들중에는 미국에서 접속하지 않으면 페이지에 접근할수도 없는곳들이 있다. 재미있는건 웹브라우져를 열어서 보면 열리는데, 스누피로 긁어올려고 하면 안된다는 점이다. 현재 내가 발견한 사이트 긁어오..
-
PHP 정규표현식을 이용해서 사이트 긁어보자 (노가다 없이 자료 수집하는 방법)파싱의 추억 2010. 3. 27. 01:54
"사이트 긁어오기" 다른말로 사이트 파싱작업을 하는 이유는 단순하다. 노가다를 컴터에게 대신 시키기 위해서다. 로또번호를 일주일마다 입력하기 귀찮기 때문에 나눔로또 사이트에서 매주 로또 번호를 긁어온다. 경쟁사의 상품을 매번 찾아 볼 수가 없기 때문에 옥션을 주기적으로 긁어 온다. 사이트 긁어오기를 구현하기 위해서는 정규표현식이 필수다. 정규표현식을 몰라도 가능은 하다. 소스가 지저분해지고 나중에 수정하기면서 욕나오는 것만 빼면.. 정규표현식이라는 녀석이 간단해 보이지만 쓸 때마다 헤깔리고 잊어버린다. 그래서 사이트 긁어오는 방법을 간단히 정리해본다. 그전에 php에서 정규표현식을 사용하는 방법을 간단히 걸어 넘어가자. php에서 정규표현식을 쓰는 방법은 여러가지다. 개인적으로는 아래방법을 이용한다. i..
-
[php+snoopy] 나눔로또에서 로또번호 긁어오기파싱의 추억 2009. 4. 30. 20:06
php에서 특정 사이트를 긁어올때는 file 함수나 fopen 함수를 쓰면 된다. 왠만한 사이트는 file 함수로 접근을 할경우 가져가지 못하게 막아놓는다. 그런 사이트들를 긁어오려면 "snoopy" 라는 php class 를 이용한다. snoopy는 php에서 소켓을 쉽게 쓸수 있는 강력한 클래스이다. 단순히 사이트를 긁어오는 기능과 더불어 html 태그를 쏙 빼고 텍스트만 긁어올수도 있으며, form 으로 바로 submit 해서 결과값을 받을수 있는 유용한 클래스이다. /( //\\ // )_.-"""-._,-""-. \\ ^,'_\ /_\ ) `./ /O\| |/O\\ / \ \_/| |\_/ \_/ \ .' _ `. / .-. ( .:(_):. ) ,-. ( `._`._.-._,'_,' ) ) (..
-
[PHP+snoopy] 옥션리스트 긁어오기와서 RSS 만들기파싱의 추억 2008. 9. 28. 10:30
본 블로그에는 사이트의 내용을 긁어오는것에 대한 간단 강좌 시리즈가 있다. [강좌] php용 강력하면서 쉬운 소켓(socket)클래스 , Snoopy [php+snoopy] 나눔로또에서 로또번호 긁어오기 그 글을 보고 이메일로 보내온 질문에 대한 답을 빙자한 간단 강좌다. 아래는 메일 내용이다. ---------------------------------------------------------------------------- 저는 PHP파싱에 관심이 굉장히 많은사람인데요. 님의 블로그를 보고 메일을 드립니다. 초보입장에서 PHP스쿨에서 스누피를 알게되고 사용강좌를 찾다가 님의 블로그에 간단한 예시들을 보고 궁금한점이 더 많아져서;; 도저히 못참겠기에 메일 제목처럼 특정 페이지를 파싱해서 DB에 저장..
-
다음 메인에서 뉴스부분만 긁어오기(php+snoopy)달을파는아이 2008. 5. 2. 09:30
로또번호를 긁어오는것에 이어 이번엔 다음 메인 뉴스를 긁어보자. [php+snoopy] 나눔로또에서 로또번호 긁어오기 [강좌] php용 강력하면서 쉬운 소켓(socket)클래스 , Snoopy 다음은 file,fopen 함수를 사용하면 긁어올수가 없다. 접근을 못하게 막아놓은것같다. 하지만 우리에겐 강력한 snoopy가 있다. 스누피야 달려가서 다음물어오렴~ 기본적인 방법은 로또번호를 긁어올때랑 똑같다. 다른점은 뉴스부분만 떼내는 작업이다. 먼저 아래와같이 다음의 메인 페이지를 가져온다. include '_lib/class.snoopy.php'; $snoopy=new snoopy; $snoopy->fetch("http://www.daum.net"); 다음의 메인페이지에서 소스보기를 해서 , 뉴스가 시작하..
-
남홈페이지 일부분만 내홈페이지에 넣기파싱의 추억 2008. 4. 27. 13:34
남 홈페이지중 일부분만 가져와서 내홈페이지 넣는 방법입니다. 꽁수중에 왕꽁수 입니다. 테스트해본결과 익스,파폭 다 잘 됩니다. 아이프레임과 div 를 이용한 꽁수인데 겉으로 보이기만 일부분만 보이는것이지 실제로는 홈페이지 두개를 불러내는거와 같습니다. 과도하게 많이 사용하면 페이지 로딩속도가 상당히 떨어질수 있습니다. 위에 보이는 사이트를 넣고 난 결과(http://insidedream.net)는 아래와 같습니다. 깜쪽같지 않습니까? ㅋㅋ 물론 링크걸렸을때 페이지 안에서만 보인다는 단점이 있긴하지만 , 이런기능이 꼭 필요할분들이 분명이 있을거라 생각됩니다. ^^ 소스는 아래와 같습니다. 응용해서 쓰세요 원리를 간단히 설명드리자면, (설명색과 같은 색인 소스를 보면 됩니다.) 1.아이프레임으로 홈페이지 통..