[PHP] 스크래핑 작업(nuskin)

[PHP] 스크래핑 작업(nuskin)

PHP
[PHP] 스크래핑 작업(nuskin) 개발환경 : PHP5 CLI, MySQL요구사항 : 각 분류에 대한 처리, 상세페이지에서 설명과 이미지 저장 해당 사이트를 어느 부분을 캡쳐한 부분 입니다.해당 사이트에서의 정보를 일정 부분 취득하기를 원하기에 해당 사이트의 정보를 가지고 작업을 하였습니다. 목록이 구성되어 있으며 해당 목록페이지에 묶음 상품도 있어서 해당 내역도 처리를 해야 합니다.일반 상품과 묶음상품을 구분해서 분류를 확장해야 하며, 일반 상품이 소속된 분류도 처리를 해야 합니다. 제품 상세 페이지 이며, 해당 페이지에서도 원하는 부분만을 가지와 와서 처리를  해야 하는 작업입니다.원하는 부분이 있고, 원하는 않은 부분이 있기에 잘 구분해서 원문을 이상없이 수집하는 규칙에 맞게 설정을 해서 수집을 해야 합니다. 위 사진은 수집한 부분에서 일정부분을 화면 캡쳐 한 사진 입니다.위에서 처럼 각 부분을 가지고 해서 처리를 해야 하는 일입니다. 이번에는 작업이 다른것은 이미지 파일 이름을 임의로 변경을 하지 않고, 그대로 유지한채로 가져서 local에 저장을 해서 처리를…
Read More
[PHP] bevmo 스크랩 작업

[PHP] bevmo 스크랩 작업

PHP
[PHP] bevmo 스크랩 작업 PHP로 CLI 모드에서 해당 사이트를 내용을 가지고 오는 작업입니다. 카테고리별로 분리를 하고 다시 해당 카테고리 내에서 제품의 정보와 이미지 개인이 저장 할 수 있도록 저장 하였습니다. 개발환경 : PHP + MySQL 해당 정보를 가져오는 사이트의 일부 캡쳐 화면 입니다. 와인을 전문적으로 판매 하는 사이트입니다. 해당 사이트의 다른 정보 보다는 와인과 그 상세 설명등을 DB화해서 개인이 원하는대로 정보를 가공하는 일이였습니다. 웹을 이용하지 않고 단순하게 Windows에서 PHP를 가동하여서 CLI 모드로 실행되면서 사이트를 접속해서 정보를 가져오는 일입니다. 아래는 전체는 아니며 해당 사이트를 가지와 와서 가공한 DB의 정보를 캡쳐한 화면 입니다. 단순하게 텍스만 가져오지 않고 해당 사이트가 제공하는 이미지 파일을 local에 저장하여서 활용도 할수 있습니다. 각 분류에 맞게 디렉토리를 설정하고 이미지를 이름을 저장하고 관리 할 수 있습니다.
Read More

[PHP] RSS item 항목 숫자 제한하기

PHP
필요하다기 보다는 놀면서 하나 만들어 본것입니다.가끔 가다가 들리는 뽐뿌에서 NAS 포럼에서 본 글인데 아직 답변이 없어서 한번 만들어 보았습니다. 뽐뿌 원문 링크 주소는 " http://www.ppomppu.co.kr/zboard/view.php?id=nas&page=1&divpage=4&no=18328 " 입니다.블로그 주소를 남겨 놓지 않았기 때문에 뽐뿌에도 기록을 남기고 제 블로그에도 기록을 남깁니다. <?php require_once('./Snoopy.class.php'); if($_GET["k"]) { $k=$_GET["k"]; } else { $k="720p-with"; } if($_GET["b"]) { $b=$_GET["b"]; } else { $b =""; } // 테스트용 $k = urlencode("with+720p+무한"); $b = "torrent_variety"; $snoopy = new snoopy; $snoopy->fetch("http://torrentdn.net/bbs/rss.php?k=".$k."&b=".$b.""); $txt = $snoopy->results; preg_match('/(.*?)<item>/i', $txt, $txtMatch ); // item 시작전의 정보를 취득 // item외에 영역은 모두 삭제 처리 $txt = str_replace($txtMatch[1], "", $txt); // item 태그 열기 전 태그 및 문자 삭제 $txt = str_replace("</channel></rss>", "", $txt); // item 태그 닫고 channel, rss 태그 삭제 // item을 배열로 처리 하기 위해서 배열 문자 삽입 $txt = str_replace("</item>", "</item>\r\n", $txt); $txt…
Read More

[PHP] 페이징 함수

PHP
[PHP] 페이징 함수 상당히 오래전에 만든것인데 블로그에 그냥 기록을 해놓고 나중에 필요하면은 사용할 생각입니다.참조정도로만 사용할 수 있지 않을까 싶습니다. <?php /*************************** * @write_pages : 한페이지에 보여줄 행 * @cur_page : 현재 페이지 * @total_page : 총 페이지 * @url : URL * @add : ??? * 2011.03.14 **************************/ function get_paging($write_pages, $cur_page, $total_page, $url, $add="") { $str = ""; $str .= "<a href='".$url."1".$add."'>처음</a> "; // 현재 페이지로부터 앞에 몇개가 보여질지 정함 $start_page = (int) $cur_page - 6; // 페이징 목록 숫자를 정함 if($total_page < $write_pages) { $write_pages = $total_page; } // 페이징 시작이 0보다 작다면은 0으로 시작 하도록 함 if($start_page < 0) { for($i=0; $i < $write_pages; $i++) { $k = $i + 1; if ($cur_page != $k) { $str .= "<a href='".$url.$k.$add."'><span>".$k."</span></a>"; } else { $str .= "<strong>".$k."</strong>"; } } }…
Read More

[PHP] apache htaccess를 사용한 간단한 rest만들기..

PHP
폴더 구조는 다음과 같다.root .htaccess - public .htaccess,index.php위와같이 파일이 위치한다..htaccess를 설정한다. <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ public/ [L] RewriteRule (.*) public/$1 [L] </IfModule> 어쨌거나 요청이 오면 public 폴더로 보낸다. 뒤에 있는 url정보는 $1을 통해서 public으로 보내진다public폴더에 .htaccess를 설정한다. <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?url=$1 [PT,L] </IfModule>
Read More

[PHP] CURL 설정

PHP
NAME CURLOPT_SSLVERSION - set preferred TLS/SSL version SYNOPSIS #include <curl/curl.h> CURLcode curl_easy_setopt(CURL *handle, CURLOPT_SSLVERSION, long version); DESCRIPTION Pass a long as parameter to control which version of SSL/TLS to attempt to use. Use one of the available defines for this purpose. The available options are:   CURL_SSLVERSION_DEFAULT The default action. This will attempt to figure out the remote SSL protocol version. CURL_SSLVERSION_TLSv1 TLSv1.x CURL_SSLVERSION_SSLv2 SSLv2 CURL_SSLVERSION_SSLv3 SSLv3 CURL_SSLVERSION_TLSv1_0 TLSv1.0 (Added in 7.34.0) CURL_SSLVERSION_TLSv1_1 TLSv1.1 (Added in 7.34.0) CURL_SSLVERSION_TLSv1_2 TLSv1.2 (Added in 7.34.0) DEFAULT CURL_SSLVERSION_DEFAULT PROTOCOLS All TLS based protocols: HTTPS, FTPS, IMAPS, POP3, SMTPS etc. EXAMPLE   CURL *curl = curl_easy_init(); if(curl) {   curl_easy_setopt(curl, CURLOPT_URL, "https://example.com");   /* ask libcurl to use TLS version 1.0 or later */   curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);   /* Perform the request */  …
Read More