DEVELOPE/PHP
php url 파싱 스누피
소찾나
2018. 1. 16. 13:08
php url 파싱 스누피
php url 파싱 스누피
웹사이트 개발을 하다보면 부득이하게 웹사이트 url 을 통한 파싱이 필요할 경우가 있다.
이번 포스팅에선 url 파싱 방법에 대하여 알아보기위해 간단한 예제을 만들어 보았다.
파싱의 방법중 스누피 클래스를 이용한 방법이다.
1 우선 스누피 파싱클래스를 다운받자 스누피+파싱.zip
적당한 위치에 압축을 풀고 해당 클래스를 include 시켜 소스에 첨가하도록 하자
2 필요한 정보의 타켓 url 을 해당 소스에 $url 변수에 입력하고 출력된 변수에서 정규화 식을 통해 필요한 정보를 배열에 넣고 가져오는 방식
이다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <? include "./snoopy/Snoopy.class.php"; $snoopy=new snoopy; //for($i=1;$i<=37;$i++) { $url = "http://www.alpha.co.kr/customer/chain/chainSearchList.do?cPage=37&searchWord=&searchSmartcon="; $snoopy->fetch($url); //긁을주소 $txt = $snoopy -> results; $rex = $txt; $tt = "|<td class=\"shop\">(.*?)</td>|"; $tt2 = "|<td class=\"subject\">(.*?)</td>|"; $tt3 = "|<td class=\"tel\">(.*?)</td>|"; $tt4 = "|<td class=\"fax\">(.*?)</td>|"; preg_match_all($tt,$rex,$content); preg_match_all($tt2,$rex,$content2); preg_match_all($tt3,$rex,$content3); preg_match_all($tt4,$rex,$content4); ?> <table> <? for($i=0;$i<count($content[0]);$i++) { ?> <tr> <td><?=$content[0][$i]?></td> <td><?=$content2[0][$i]?></td> <td><?=$content3[0][$i]?></td> <td><?=$content4[0][$i]?></td> </tr> <? } ?> </table> | cs |
간단하게 html 테이블 형식으로 가져올수도 있고 값을 db 에 바로 저장하여 사용할 수 있다. 구미에 맞게 사용하도록 하자
이글이 도움이 되셨다면 아래에 로그인이 필요없는 공감 버튼을 클릭해주세요 ^^