• 회원가입
  • 로그인
  • 구글아이디로 로그인

[PHP-서기] PHP 51 - 웹사이트크롤링 (= 사이트파싱) ★★★ (= 타사이트 특정부위 가져오기)

8,979  

Simple HTML DOM

 

소개
jQuery 문법으로 HTML 데이터 제어하는 라이브러리 .

 

다운로드 

https://sourceforge.net/projects/simplehtmldom/files/

 

매뉴얼

https://simplehtmldom.sourceforge.io/manual.htm

 


 

<?php

// PHP정보

//phpinfo();


// 파일정보 가져오기 허용설정

ini_set("allow_url_fopen",1);


// DAUM 사이트 가져오기

include "simple_html_dom.php";

$data = file_get_html("https://daum.net");


// DAUM 사이트 보여주기

//echo $data;



// 특정부분만 가져오기

$a = $data->find("ul.list_txt");

//echo $a; // Array



/*

// 텍스트만 가져오기 (실패)

foreach($a as $b) {

   echo $b->plaintext;

   echo "<br>";

}

*/


// 텍스트만 가져오기 (성공)

foreach($a as $ul) {

    $c = $ul->find("li");

    foreach($c as $li) {

        echo $li->plaintext;

        echo "<br>";

    }

}

 

관련글 (121120) https://sir.kr/pg_tip/12474 

 

Snoopy (스누피)

 

다운로드

https://sourceforge.net/projects/snoopy/

 


 

<?php

include "simple_html_dom.php";

include "Snoopy.class.php";

$snoopy = new Snoopy;

$snoopy->referer = 'https://naver.com'; // 가짜 리퍼러

$snoopy->fetch('https://naver.com'); // 크롤링할 사이트

$data = str_get_html($snoopy->results);

echo $data->plaintext; 

?>

 

※ str_get_html() 함수는 Simple HTML DOM 정의 함수.


 

include "Snoopy.class.php";

$snoopy = new Snoopy;

$url = "https://naver.com";

$snoopy->fetch($url);

$list_result = $snoopy->results;

echo $list_result;

 

서기 님


분류 제목
JS-서기 JQ 4강 - 허버메뉴
JS-서기 JQ 3강 - 이벤트, 이펙트 (=메서드)
JS-서기 JQ 2강 - JQUERY (제이쿼리) 다운로드, 외부링크, 기본구문
JS-서기 JQ 1강 - JQUERY (제이쿼리) 개념, CSS 선택자
JS-서기 JS 17강 - 허버메뉴만들기
JS-서기 JS 16강 - this객체, 조건분기, 속성설정
JS-서기 JS 15강 - CSS 선택자
JS-서기 JS 14강 - HTML CSS JS 혼용하기 (=getElementsBy 시리즈 = JS선택자) ★★★★★
JS-서기 JS 13강 - DOM (돔: Document Object Model 문서객체모델)
JS-서기 JS 12강 - 이벤트핸들러2 (event handler) - onload, onunload, / confi…
JS-서기 JS 11강 - 이벤트핸들러1 (event handler)
JS-서기 JS 10강 - 사용자정의함수 (조건, 경고창, 페이지이동) (function, if, alert, url,…
JS-서기 JS 9강 - 함수 제작 (= 사용자정의함수)
JS-서기 JS 8강 - for문 안쪽에 if문 사용 (= 행렬 표만들기 = 줄바꿈 = 줄바꾸기 = 줄변경 = 라인변…
JS-서기 JS 7강 - 모든 구구단 (= 중첩포문 = 이중포문 = 이단포문) (for double loop)
JS-서기 JS 6강 - 특정 구구단
JS-서기 JS 5강 - for반복문 흐름, 1~100 출력 및 합산 3
JS-서기 JS 4강 - else if 조건문, && 기호 의미
JS-서기 JS 3강 - 변수선언, prompt() 입력함수, if조건문, 사이트 이동 ★
JS-서기 JS 2강 - 변수 선언 및 출력
11/35
목록
찾아주셔서 감사합니다. Since 2012