사이트파싱
-
지마켓에서 판매자 정보 긁어오는 방법, 자바스크립트에 익숙해져야..파싱의 추억 2012. 9. 22. 12:57
지마켓에서 개인정보를 가져오는 방법을 아는것과 그 개인정보를 실제로 어떻게 사용하는지는 다른 문제다. 칼을 요리에 쓸수도 있지만, 사람을 해하는데 쓸 수도 있기 때문이다. 그렇다고 이 세상 모든 칼이 문제일 수는 없다. 칼의 잘못이 아니라, 칼을 사용하는 사람의 문제다. 기술은 영역이 없어야 한다. 개발된 기술의 사용이 어떻게 할까는 인문학의 역활이다. 지마켓 하단에도 스크래핑을 하지마라고 경고하고 있다. 문구가 좀 애매하긴 하다. 상업적이 아니라면, 스크래핑이 가능하다는 말일까? 논의는 넘어가고, 실제 구현을 보자. 지마켓의 상품 리스트에 보면, 판매자 정보가 있다. 판매자 정보에는 전화번호와 이메일등등 일종의 개인정보가 포함되어 있다. 지마켓의 상세페이지를 파싱해서 긁어오는 소스는 간단하다. $txt..
-
[사이트긁어오기 강좌#1] php와 snoopy로 로그인 처리파싱의 추억 2012. 2. 21. 07:00
사이트 긁어오기를 하다보면, 로그인을 해야만 가능한 사이트들을 만나게 된다. 사이트파싱 에서 로그인처리는 까다로운 녀석인데, snoopy에는 로그인을 처리하는 기능이 있다. 로그인에 변수들을 던져주면 자동으로 로그인이 된다. 로그인 처리를 해보면, 대부분 스누피를 이용해서 파싱이 가능하다. 물론, 좀 복잡한 방법으로 해야만 하는 경우도 있다. 복잡한 방법은 놔두고, 간단히 처리하는 방법을 알아본다. 테스트로 사용할 사이트중에 어디가 좋을까나.. 제휴사이트중 “링크프라이스” 라는 곳으로 해보자. 보통의 사이트들은 아래 같은 방법이면 70%는 로그인이 가능하다. 일단, 사이트의 로그인처리를 살펴봐야한다. 알아야 할 항목은 크게 3가지다. 1. 로그인 처리를 하는 url 2. 아이디를 받아내는 변수 3. 비밀..
-
사이트 긁어오기로 할 수 있는 6가지 놀라운 일파싱의 추억 2011. 11. 18. 13:41
사이트 파싱이라는 단어보다는 사이트 긁어오기라는 단어가 한국 사람에게는 혀에 감긴다. 사이트 긁어오기라는 단어가 주는 어감은 좀 그렇긴 하지만.. 사이트 파싱은 여러가지 긍정적인 활용이 가능하다. 사이트 긁어오기는 단순 노가다 반복작업을 대신해주면서 사람에게 시간을 벌어준다. 예전부터 달을파는아이 블로그에 사이트 긁어오기, 사이트 파싱에 관한 글들을 올렸다. 생각지 못하게 작업의뢰가 몇번 들어왔다. 작업의뢰는 내가 생각했던것보다 훨씬 다양했다. 생각지도 못한 곳에서 쓰일 수도 있음을 알았다. 몇일의 프로그램작업으로 한달이상 해야하는 노가다를 대신할 수도 있었고, 매일 매일 지겹게 반복되던 단순작업들이 사라지기도 했다. 기술적인 이야기는 놔두고, 활용사례를 소개하고자 한다.혹시나 매일 반복되는 노가다나 막..
-
[정규표현식] .*? 와 .* 의 차이점파싱의 추억 2011. 9. 2. 11:38
사이트 긁어오기를 하는 방법에는 여러가지 기술이 있다. 그중에서 가장 깔끔한 방법이 정규표현식을 이용하는 방법이다. 이 정규표현식이라는 녀석이 참으로 오묘해서, 할때마다 머리가 어지럽다. 사이트 긁어오기 할때 자주쓰이는 .*? 라는 녀석이 있다. 사람의 머리로 해석하기 참으로 애매한 녀석이다. 이아이와 해깔리는게 .* 이다. 먼저, .*? 를 써보면 아래와 같은 결과가 나온다. Array ( [0] => Array ( [0] => "bbb" [1] => "ccc" [2] => "ddd" ) ) 재미있는건, .*? 대신에 .* 를 쓰면 아래 결과 값이 나온다. Array ( [0] => Array ( [0] => "bbb" "ccc" "ddd" ) ) 결과의 차이를 보면, 확실히 다르다. 각각 사이트 긁어..
-
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] 옥션리스트 긁어오기와서 RSS 만들기파싱의 추억 2008. 9. 28. 10:30
본 블로그에는 사이트의 내용을 긁어오는것에 대한 간단 강좌 시리즈가 있다. [강좌] php용 강력하면서 쉬운 소켓(socket)클래스 , Snoopy [php+snoopy] 나눔로또에서 로또번호 긁어오기 그 글을 보고 이메일로 보내온 질문에 대한 답을 빙자한 간단 강좌다. 아래는 메일 내용이다. ---------------------------------------------------------------------------- 저는 PHP파싱에 관심이 굉장히 많은사람인데요. 님의 블로그를 보고 메일을 드립니다. 초보입장에서 PHP스쿨에서 스누피를 알게되고 사용강좌를 찾다가 님의 블로그에 간단한 예시들을 보고 궁금한점이 더 많아져서;; 도저히 못참겠기에 메일 제목처럼 특정 페이지를 파싱해서 DB에 저장..