php
-
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\\ / \ \_/| |\_/ \_/ \ .' _ `. / .-. ( .:(_):. ) ,-. ( `._`._.-._,'_,' ) ) (..
-
웹호스팅에서 주기적으로 프로그램 돌리기 꽁수 , crontab 스케줄러 대용달을파는아이 2008. 10. 18. 10:06
서버호스팅이 아닌 웹호스팅을 하게 되면 리눅스의 값진 기능들을 사용할수 없는 아쉬움이 있다. 그중에서 가장 아쉬운 부분이 crontab 명령를 못쓴다는 점이다. 그런 아쉬움을 달래기 위해 예전에 feedburner를 이용한 주기적인 프로그램 실행(crontab 대용) 라는 글에서 피드버너를 이용하는 법에 대해서 언급을 한적있다. 지금 테스트하는 호스팅은 카페24다. 혹자들은 깡패24라고도 하는데, 가장싸고 편리한 기능들이 많아서 애용하고 있다. 가입할려면 아래 배너 클릭하면, 바로 할 수 있다. 왠만한 홈페이지는 1년에 5000원짜리 하면 된다. 호스팅이 완비 되었으면 실제로 해보자. 저번글에서 전체적인 개념만 설명한것같아서 실제 소스코드와 좀더 상세한 설명을 추가한다. 피드버너(http://www.fe..
-
다음 메인에서 뉴스부분만 긁어오기(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"); 다음의 메인페이지에서 소스보기를 해서 , 뉴스가 시작하..
-
[강좌] php용 강력하면서 쉬운 소켓(socket)클래스 , Snoopy달을파는아이 2008. 4. 29. 09:31
왜 그동안 삽질을 하고 있었던걸까? 일반 호스팅에서는 외부에 있는 파일을 file,fopen으로 가져오는것을 막아 놨다. 그래서 꽁수로 python을 쓰고 있었다. 그.런.데. 당연히 안될거라 생각했던 fsocket은 된다. -_-; 난 왜 저걸 하고싶어서 파이썬 책을 두권이나 샀던걸까 .. /( //\\ // )_.-"""-._,-""-. \\ ^,'_\ /_\ ) `./ /O\| |/O\\ / \ \_/| |\_/ \_/ \ .' _ `. / .-. ( .:(_):. ) ,-. ( `._`._.-._,'_,' ) ) ( ( .-------------. ) hjw `-' `-' 여튼 snoopy 라는 강력하면서 쉬운 php용 소켓 클래스를 소개한다. 마지막 버전은 http://snoopy.sourcef..
-
[강좌] ASP 에서 CLASS(클래스) 사용하기달을파는아이 2008. 4. 29. 09:23
php에만 심취하다가 새로온 회사에서 asp 위주라서 asp를 정말 몇년만에 접하게 되었다. php에서 클래스 쓰는게 몸에 익어서 asp도 클래스를 써볼까 해서 asp 잘하시는분에게 asp에서 클래스는 어떻게 하면 되는지 물었다. 그런데. asp에는 클래스가 없다는거다!!! 헉.. 이런 췐장.. 그럼 함수로 인클루드 해서 다해야하는거야? 라고 낙담을 하다가.. 혹시나 해서 구글에서 열라 찾아봤다. 그러다 보니.. 클래스가 있었다. asp에도 클래스가 있는거다. 우리나라 asp 책 어디에도 나와있지 않은 클래스가 있는거다. 그래서.. 혹시나 asp는 클래스가 없다고 생각하시는분들을 위해서 강좌 아닌 소개수준의 글을 적어본다. 물론 기억력 나쁜 나에게도 대체 기억장치로 글을 남긴다. 그리고 본 글은 다른 언..
-
[강좌] php에 익숙한 사람을 위한 asp 강좌 #3 -파일 다루기달을파는아이 2008. 4. 29. 09:21
이번엔 텍스트 파일 다루는법을 배워 보겠다. 먼저 테스트 파일 읽는 방법이다. php소스 $fp=file("test.txt"); while($tmp=each($fp)){ $strLine.=$tmp[1]; } echo $strLine; asp소스 Set fs = Server.CreateObject("Scripting.FileSystemObject") Set fp= fs.OpenTextFile("test.txt",ForReading) dim strLine Do While Not file.AtEndOfStream strLine=strLine&fp.ReadLine Loop response.write strLine fp.Close test.txt 파일을 한줄씩 읽어오는 간단한 소스다. 외울필요는 없고 그냥 가끔 ..