Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- z세대
- MZ세대
- 젊은세대
- #mz세대 #z세대 #포지티브 모멘텀 #원영적 사고 #행집욕부 #인지적연대 #yolo #가성비
- 슬로우라이프 #워라밸 #셀프케어
- 중고보상
- 홈스타일링
- 미니멀인테리어
- 카페인테리어
- 메타버스 쇼핑
- 인테리어소품
- 게임 리뷰
- jQuery
- #ai디자인 #claude #figma #mcp #ux디자인 #ui디자인 #디자인자동화 #프로토타이핑 #디자인시스템 #웹디자인 #모바일디자인 #사용자경험 #퍼블리싱 #프론트엔드 #웹개발
- 거실인테리어
- 홈카페만들기
- 감성인테리어
- 라이프스타일
- #실용적 라이프스타일 #홈카페 #감성공간 #미니멀라이프
- json
- #쥬라기월드2025 #공룡영화 #쥬라기공원 #영화정보 #jurassicworldnewera
- 홈카페꾸미기
- 가상화폐
- 크롤링
- 밀레니얼
- 2025트렌드
- #php크롤링 #웹스크래핑 #jquery연동 #코딩실습 #웹개발기초
- #오징어게임시즌3 #넷플릭스신작 #이정재 #오징어게임분석 #시즌3예상
- 사회적 가치
- 배당주
Archives
- Today
- Total
my story
PHP로 실전 웹 크롤링 완전 정복: jQuery 연동까지! 본문
웹에 있는 정보를 자동으로 가져와서 내 사이트나 앱에서 활용하고 싶었던 적 있나요?
PHP를 이용한 웹 크롤링은 생각보다 간단하면서도 강력합니다. 오늘은 PHP로 HTML을 크롤링하고, jQuery로 그 데이터를 웹에서 보여주는 전체 흐름을 실습해봅니다.
✅ 1. 왜 PHP 크롤링인가?
PHP는 웹서버에서 실행되는 스크립트 언어라서, 별도의 설치 없이도 쉽게 크롤링을 시작할 수 있어요. 특히 file_get_contents()나 cURL, DOMDocument 클래스를 활용하면 정적 웹페이지의 HTML 요소를 분석하고 추출할 수 있습니다.
🔧 2. 기본 크롤링 코드 예제
php
복사편집
<?php $url = 'https://news.naver.com/'; $html = file_get_contents($url); libxml_use_internal_errors(true); $doc = new DOMDocument(); $doc->loadHTML($html); $xpath = new DOMXPath($doc); $headlines = $xpath->query('//a[contains(@class, "cluster_text_headline")]'); $result = []; foreach ($headlines as $node) { $result[] = trim($node->nodeValue); } echo json_encode($result, JSON_UNESCAPED_UNICODE); ?>
이 스크립트는 네이버 뉴스에서 주요 헤드라인을 크롤링해 JSON 형태로 출력합니다.
여기서 핵심은 DOMXPath를 이용한 정밀한 HTML 요소 선택입니다.
🖥️ 3. jQuery로 프론트에서 데이터 표시
PHP에서 출력된 데이터를 jQuery Ajax로 받아서 웹에 출력해볼까요?
html
복사편집
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>뉴스 헤드라인</title> <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script> </head> <body> <h2>📢 오늘의 헤드라인</h2> <ul id="news-list"></ul> <script> $(document).ready(function(){ $.ajax({ url: 'crawler.php', method: 'GET', dataType: 'json', success: function(data){ $.each(data, function(i, headline){ $('#news-list').append('<li>' + headline + '</li>'); }); }, error: function(){ $('#news-list').append('<li>데이터를 불러오는 데 실패했습니다.</li>'); } }); }); </script> </body> </html>
위 코드는 crawler.php에서 가져온 JSON 데이터를 리스트로 출력합니다.
크롤링과 프론트엔드 연동까지 한 번에 끝!
⚠️ 4. 주의할 점
- 사이트 구조 변경 시 크롤링 코드도 함께 수정해야 합니다.
- robots.txt 또는 서비스 이용약관을 확인해, 해당 사이트의 크롤링 정책을 준수하세요.
- 빈번한 요청은 서버 차단을 유발할 수 있어, 캐시 저장 or 일정 간격 요청을 고려하세요.
🚀 5. 확장 아이디어
- 크롤링 결과를 DB(MySQL 등)에 저장해 이력 관리
- Telegram/Slack 알림 연동
- 크론탭으로 주기적 실행 (자동 뉴스봇)
✍️ 마무리하며
PHP와 jQuery만으로도 이렇게 실전형 뉴스 크롤러를 만들 수 있습니다.
직접 해보면 생각보다 간단하면서도 강력해요. 오늘 배운 코드를 조금만 바꾸면, 블로그 제목, 환율 정보, 날씨 등 다양한 정보로 확장도 가능하니, 지금 바로 실습해보세요!
'코딩' 카테고리의 다른 글
PHP에서 MySQL 데이터베이스에 연결하려면 MySQLi (1) | 2023.04.07 |
---|---|
jQuery에서 data 메소드를 사용하여 요소에 저장된 데이터 객체 (1) | 2023.04.07 |
PHP를 사용하여 웹 페이지를 크롤링하는 예제 소스 코드입니다. (1) | 2023.04.07 |
jquery div append 소스 (0) | 2023.04.07 |
jquery 천단위 숫자 적용하기. (1) | 2023.04.07 |
Comments