코딩동강

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

7,806

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-바위 JS 80~82강 - 자바스크립트 객체 클래스
JS-바위 JS 77~79강 - 자바스크립트 모듈 활용 (Javascript Module)
JS-바위 JS 73~76강 - 테이블 페이지네이션 (Table Pagination)
JS-바위 JS 72강 - AOS 라이브러리 - 슝슝 나타나는 스크롤 애니메이션
JS-바위 JS 69~71강 - 숫자 그래프 애니메이션 (Number Animation)
JS-바위 JS 68강 - animate.css 라이브러리 - 스크롤이벤트 적용
JS-바위 JS 64~67강 - tailwindcss (node js - CSS framework) - CSS 없이 스…
JS-바위 JS 61~63강 - 최신 JS 문법 (ECMA SCRIPT 6) - 변수선언 키워드 let, const, …
JS-바위 JS 60강 - 인스타그램 (instagram) API - 인스타그램 피드를 웹사이트에 출력
JS-바위 JS 56~59강 - 쿠키 (Cookie) 이용해 「오늘 하루 안보기 팝업창 띄우기」 생성
JS-바위 JS 52~55강 - 멀티플 슬라이드 (Multiple Slideshow)
JS-바위 JS 51강 - 스크롤트리거 (scrollTrigger) - 스크롤 애니메이션 구현
JS-바위 JS 46~50강 - 필터링 반응형 갤러리 (Fitered Gallery)
JS-바위 JS 45강 - 하이라이트 무빙 탭 애니메이션 (Highlight Moving Tab animation)
JS-바위 JS 42~44강 - 풀스크린 슬라이드 (FullScreen Slide) 1 - CSS로만 구현
1/47
목록
  • 채팅방
  • 필독
1. 채팅창 헤드에서 접속자 확인 2. 닉네임 클릭해 1:1 채팅 가능 3. 닉네임 클릭해 귓속말 가능 4. 닉네임 클릭해 호출하기 가능 5. 우하단 클릭해 환경 설정 가능 6. 의뢰글 작성 후 의뢰 상담 가능 7. 질문글 작성 후 질문 상담 가능 8. 채팅방에 개인정보 입력 금지 9. 채팅방에 광고 욕설 비방 금지
 홈  PC버전 로그인 일본어
웹디자인언어
서버관리언어
고급코딩언어
그누보드
제작의뢰
Q&A
커뮤니티 1
웹유틸
회원센터
홈짱 PC버전 로그인