php 파싱! 간편하면서 강력한 - PHP Simple HTML DOM Parser

· 2012-11-20 (화) 10:22:42 · 23816 · 14
http://simplehtmldom.sourceforge.net/

다운로드 링크  : http://sourceforge.net/projects/simplehtmldom/files/latest/download?source=files


해당 홈에 나와있는 예제입니다.
간단한 주석을 붙입니다.

//html 을 가져오고
$html = file_get_html('http://www.google.com/');            

// 모든 이미지태그를 찾아냅니다.
foreach($html->find('img') as $element) 
       echo $element->src . '<br>';                                  

// 모든 a태그를 찾아내어 href속성을 뿌려줍니다.
foreach($html->find('a') as $element)                             
       echo $element->href . '<br>';

// 컨텐츠내에 텍스트들만 가져옵니다.
echo file_get_html('http://www.google.com/')->plaintext

// css jquery 많이 만져보셨다면 선택자는 거의 동일합니다.
//몇번째 a태그 같은 경우도 가져올수 있구요
foreach($html->find('div.article') as $article) {
    $item['title']     = $article->find('div.title'0)->plaintext;
    $item['intro']    = $article->find('div.intro'0)->plaintext;
    $item['details'] = $article->find('div.details'0)->plaintext;
    $articles[] = $item;
}

//가져오기전 해당 태그내의 텍스트도 이렇게 간단히 변경가능합니다.
$html->find('div[id=hello]', 0)->innertext = 'foo';



현재 홈에는 예제가 별로 안나와있는데 파일받아보시면
풍부한 예제가 많습니다.
강력추천드립니다 ㅋㅎ



|

댓글 14개

사용하기 쉽지만 성능면에서는 어떨지 궁금하네요.
괜춘하네요!!
2012-11-20 (화) 21:14:12
크롤러 소스네요 ㅋㅋ 좋네요 ㅋㅋ
2012-11-21 (수) 15:52:52
감사합니다.
2012-11-21 (수) 19:36:50
좋네요.~~
감사합니다.
snoopy.class 얼마전에 처음 알고 신기해했는데. 이것도 좋아보이네요^^
2012-11-22 (목) 09:40:07
오호............
그누보드랑 접목 시킨 예제는 없을까요? 삽질 연속중..ㅠㅠ
2012-11-22 (목) 17:40:46
해보시면서 궁금하신 부분 여쭤보세요 도움닫는한 답변드릴께요 ㅎㅎ
감사합니다.

샘플 형태로 다 진행을 해봤는데요. URL 구글로 샘플된거 해보면 계속
Warning: file_get_contents() [function.file-get-contents]: URL file-access is disabled in the server configuration in /home1/**********/parser/simple_html_dom.php on line 75

이렇게 오류가 생기네요.
ㅠㅠ

구현하고 싶은것은 그누보드에 url 입력창에 입력하면 특정 게시물의 일부 또는 전체를 가져올까합니다. 블로그 같은경우 최신 RSS 50개만 적용되어서요. 50개이전글을 가져와서 DB저장시킬 방법을 찾고있습니다.
2012-11-23 (금) 10:26:40
서버 접속후에
grep allow_url_fopen /etc/php.ini
입력해보세요.

allow_url_fopen 설정이 on인지 off인지 보일꺼에요.
on이 되어있어야 합니다.

php.ini 파일 직접한번 봐보셔두 됩니다 ㅎㅎ
.htaccess 에
php_flag register_globals on 설정되어있습니다.
ㅠㅠ
감사드려요
좋긴 한데..메모리누수 버그가 있었는데..지금은 패치가 되엇나요??
clear, destruct, unset...등 조치해야 되었던거 같은데..
무지...편리하긴 한데..
댓글을 작성하시려면 로그인이 필요합니다.

프로그램

8,188건
+
제목 글쓴이 날짜 조회
13-02-18 조회 3,504
13-02-15 조회 3,886
13-02-12 조회 5,712
13-02-04 조회 4,045
13-01-30 조회 4,918
13-01-25 조회 3,637
13-01-18 조회 3,737
13-01-18 조회 5,469
13-01-18 조회 6,062
13-01-18 조회 3,756
13-01-18 조회 4,708
13-01-17 조회 4,024
13-01-17 조회 3,519
13-01-17 조회 3,590
13-01-17 조회 3,942
12-12-31 조회 3,463
12-12-28 조회 4,893
12-12-28 조회 5,949
12-12-28 조회 3,391
12-12-27 조회 3,533
12-12-27 조회 4,270
12-12-20 조회 5,167
12-12-18 조회 9,008
12-12-14 조회 4,867
12-12-10 조회 3,582
12-12-10 조회 3,056
12-12-01 조회 3,788
12-11-25 조회 7,264
12-11-22 조회 5,899
12-11-20 조회 2.4만
12-11-19 조회 4,274
12-11-13 조회 3,815
12-11-12 조회 3,834
12-10-23 조회 4,667
12-09-25 조회 4,299
12-09-05 조회 6,916
12-09-04 조회 7,471
12-09-04 조회 3,405
12-08-30 조회 3,348
12-08-30 조회 3,562
12-08-29 조회 3,318
12-08-29 조회 3,104
12-08-26 조회 3,435
12-08-18 조회 3,659
12-08-17 조회 3,957
12-08-16 조회 3,480
12-08-14 조회 3,154
12-08-13 조회 5,562
12-08-13 조회 3,313
12-08-11 조회 3,594
12-08-10 조회 3,140
12-08-07 조회 3,931
12-08-07 조회 3,165
12-08-06 조회 3,374
12-07-31 조회 3,163
12-07-30 조회 3,479
12-07-30 조회 3,110
12-07-29 조회 3,288
12-07-29 조회 3,040
12-07-27 조회 3,096
12-07-21 조회 2,970
12-07-19 조회 3,165
12-07-19 조회 2,749
12-07-17 조회 3,383
12-07-17 조회 2,980
12-07-17 조회 3,900
12-07-16 조회 2,924
12-07-15 조회 3,054
12-07-14 조회 3,118
12-07-13 조회 8,190
12-07-11 조회 3,358
12-07-10 조회 9,934
12-07-09 조회 3,134
12-07-08 조회 4,312
12-07-06 조회 3,599
12-07-05 조회 3,895
12-07-05 조회 3,297
12-07-05 조회 3,153
12-07-03 조회 3,209
12-07-03 조회 3,152
12-07-02 조회 3,166
12-07-02 조회 2,806
12-06-30 조회 3,417
12-06-26 조회 3,131
12-06-22 조회 3,168
12-06-22 조회 3,091
12-06-21 조회 3,094
12-06-21 조회 3,304
12-06-20 조회 3,480
12-06-20 조회 3,143
12-06-20 조회 3,050
12-06-18 조회 3,935
12-06-17 조회 3,362
12-06-15 조회 2,980
12-06-14 조회 2,849
12-06-13 조회 3,491
12-06-11 조회 3,312
12-06-08 조회 3,238
12-06-06 조회 3,086
12-06-06 조회 3,536