티스토리 뷰
Easy Screen Scraping in PHP with the Simple HTML DOM Library
PHP를 이용해서 특정 웹문서의 HTML DOM을 손쉽게 가져올수 있는 라이브러리입니다.
만들기가 영 손이 많이 갈것 같아서 귀찮았었는데
좋은 라이브러리가 나타났습니다.
온라인 document : http://simplehtmldom.sourceforge.net/manual.htm
문서는 다음과 같은 방법으로 가져옵니다.
직접 HTML string을 이용한 방법과 URL로의 접근, 그리고 local 문서로의 접근 이렇게 3가지의 방법이 있습니다.// Create a DOM object from a string
$html = str_get_html('<html><body>Hello!</body></html>');
// Create a DOM object from a URL
$html = file_get_html('http://www.google.com/');
// Create a DOM object from a HTML file
$html = file_get_html('test.htm');
그리고// Find all anchors, returns a array of element objects
$ret = $html->find('a');
// Find (N)th anchor, returns element object or null if not found (zero based)
$ret = $html->find('a', 0);
// Find all <div> which attribute id=foo
$ret = $html->find('div[id=foo]');
// Find all <div> with the id attribute
$ret = $html->find('div[id]');
// Find all element has attribute id
$ret = $html->find('[id]');
이렇게 특정 엘리먼트를 발견할수 있고요.
엘리먼트의 속성을 가져올땐 이렇게// Get a attribute ( If the attribute is non-value attribute (eg. checked, selected...), it will returns true or false)
$value = $e->href;
// Set a attribute(If the attribute is non-value attribute (eg. checked, selected...), set it's value as true or false)
$e->href = 'my link';
// Remove a attribute, set it's value as null!
$e->href = null;
// Determine whether a attribute exist?
if(isset($e->href))
echo 'href exist!';
그리고 마음껏 DOM tree를 돌아다닐수도 있습니다.// If you are not so familiar with HTML DOM, check this link to learn more...
// Example
echo $html->find("#div1", 0)->children(1)->children(1)->children(2)->id;
// or
echo $html->getElementById("div1")->childNodes(1)->childNodes(1)->childNodes(2)->getAttribute('id');
참 쉽죠?
무엇보다도 이걸 이용해서
RSS 제공하지 않는 곳의 게시물을 손쉽게 비공식 적으로 RSS로 발행할수 있을것 같습니다.
기쁘군요! 으하하하하하!
'WEB2.0 > 프로그래밍' 카테고리의 다른 글
php 코드 최적화 15가지 팁 (0) | 2008.12.19 |
---|---|
절름발이 지도 오픈 api 3인방(구글, 야후, 네이버) (0) | 2008.10.05 |
오늘의 링크(루비온레일즈 튜토리얼, 자바스크립트로 그래프 그리기) (0) | 2008.08.06 |
Opera Web Standards Curriculum (0) | 2008.08.06 |
script.aculo.us autocomplete 커스터마이징하기 (0) | 2008.07.11 |
- Total
- Today
- Yesterday
- 트위터
- 웹표준
- 앱스토어
- 아이폰
- 게임
- 창업
- 대학생
- 소프트웨어
- 벤처
- 공모전
- 네이버
- CSS
- AWS
- 안드로이드
- 앱
- android
- iPhone
- 아이디어
- 자바스크립트
- JavaScript
- 어플리케이션
- 모바일
- 구글
- 애플
- 스마트폰
- php
- Apple
- 경진대회
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |