티스토리 뷰

DEVELOPE/PHP

php url 파싱 스누피

소찾나 2018. 1. 16. 13:08
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

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 에 바로 저장하여 사용할 수 있다. 구미에 맞게 사용하도록 하자



이글이 도움이 되셨다면 아래에 로그인이 필요없는 공감 버튼을 클릭해주세요 ^^

댓글