SlideShare a Scribd company logo
1 of 25
Download to read offline
Web
Crawling
웹 크롤링이란?
01
Web Crawling
인터넷 상에 존재하는 다양한
웹페이지에서 정보를 수집하는 프로세스
웹 크롤링을 하는 이유
(1) 정보 수집
웹 크롤링을 통해 인터넷 상의 다양한 웹페이지에서 정보를 수집
(2) 경쟁력 확보
웹 크롤링을 통해 경쟁사의 제품, 가격, 서비스 등에 대한 정보를 수집하고 분석함으로써 경쟁력 확보
(3) 트렌드 파악
웹 크롤링으로 소셜 미디어, 뉴스 사이트 등에서 실시간으로 트렌드 파악 및 시장 동향 분석 가능
(4) 예측과 분석
수집한 웹 데이터를 활용하여 예측 모델링과 데이터 분석을 수행, 이를 통해 효과적인 전략 수립과 의사 결정 가능
웹 크롤링의 작동 방식
02
기본 작동 원리
(1) 웹페이지 다운로드
웹 크롤러는 먼저 타겟 웹페이지를 다운로드 한다.
이를 위해 HTTP 또는 HTTPS 프로토콜을 사용하여 웹 서버에 요청을 보내고,
응답으로 HTML, CSS, JavaScript 및 기타 리소스를 받는다.
(2) HTML 파싱
다운로드한 웹페이지의 HTML 코드를 파싱하여 웹페이지의 구조와 내용을 이해한다.
일반적으로 파싱에는 BeautifulSoup, lxml 등의 라이브러리가 사용된다.
기본 작동 원리
(3) 데이터 추출
파싱된 HTML에서 필요한 데이터를 추출한다.
이를 위해 CSS 선택자 또는 XPath와 같은 쿼리 언어를 사용하여 원하는 요소를 선택한다.
(4) 데이터 처리 및 저장
추출한 데이터를 필요에 따라 가공, 정제 또는 분석하여 원하는 형식으로 가공한다.
가공 후 데이터베이스, CSV 파일, 엑셀 등에 저장하여 활용할 수 있다.
웹 크롤링 도구
(1) 파이썬
간결하고 가독성이 좋으며, 다양한 라이브러리와 모듈을 지원
(2) BeautifulSoup
파이썬 기반의 웹 크롤링 라이브러리
HTML 및 XML 문서를 파싱하고 데이터를 추출하는 데 사용
직관적인 API와 강력한 파싱 기능을 제공하여 웹 데이터 추출을 단순화
웹 크롤링 도구
(3) Scrapy
파이썬 기반의 웹 크롤링 프레임워크
웹 크롤링 및 스크래핑 작업을 자동화하기 위한 도구
강력한 스크래핑 능력, 분산 크롤링 지원, 자동화 기능 등을 제공하여 대규모 크롤링 작업에 적합
(4) 자동화 도구
동적 웹페이지나 JavaScript 기반의 기술을 다룰 때, 브라우저 자동화 도구인 Selenium 등을 활용
웹 크롤링 도구
(5) CSS 선택자 & XPath
웹페이지에서 원하는 요소를 선택하기 위한 쿼리 언어
CSS 선택자는 HTML 요소를 선택하기 위해, XPath는 XML 문서에서 요소를 선택하기 위해 사용
(6) 프록시 서버
크롤링 작업을 수행할 때, IP 차단이나 액세스 제한을 피하기 위해 프록시 서버를 사용
프록시 서버는 요청을 중계하여 웹사이트에 액세스하는 IP 주소를 숨기고, 액세스 제한을 우회하는 데 도움
로봇 배제 표준
03
로봇 배제 표준이란?
웹사이트 소유자가 크롤러 봇의 액세스를 제어하기 위한 규
약으로, 이 규약은 "robots.txt"라는 텍스트 파일을 통해 웹사
이트의 루트 디렉토리에 배치된다.
로봇 배제 표준의 목적은 웹사이트 소유자가 크롤러가 액세
스 가능한 영역과 액세스 금지 영역을 명시적으로 지정할 수
있도록 하는 것으로, 이를 통해 웹사이트의 데이터를 보호하
거나 특정 페이지를 제한하는 등의 액세스 제어를 수행할 수
있다.
Robots.txt 구성
(+) User-agent
크롤러의 이름 또는 식별자를 지정
(+) Disallow
해당 크롤러에 대해 액세스 금지할 경로를 지정
(+) Allow
특정 경로에 대해 액세스를 허용하는 경우 지정
(+) Crawl-delay
크롤러 액세스 사이의 지연 시간을 지정
크롤링 윤리와
법적 고려 상황
04
윤리적 고려 사항
웹 크롤링을 수행할 때에는 다음과 같은 윤리적 고려 사항을 염두에 두어야 한다.
이를 준수함으로써 웹사이트 소유자의 권리와 개인정보 보호를 존중하고,
적법하고 윤리적인 데이터 수집을 실천할 수 있다.
윤리적 고려 사항
(+) 로봇 배제 표준 준수
웹사이트 소유자가 지정한 로봇 배제 표준(robots.txt)을 준수한다.
액세스 제한된 페이지나 디렉토리에 대해 크롤링을 시도하지 않아야 한다.
(+) 액세스 제한 사항 고려
웹사이트에서 명시적으로 액세스가 금지된 페이지나 디렉토리에 대해서는 크롤링을 시도하지 말아야 한다.
개인정보, 지적 재산권, 저작권 등의 보호를 위해 액세스 제한 사항을 준수한다.
(+) 저작권과 지적 재산권
크롤링된 데이터의 저작권과 지적 재산권을 존중해야 한다.
크롤링된 데이터를 상업적으로 사용하기 전에 저작권자의 동의를 받아야 하며, 출처와 저작자 정보를 명시한다.
윤리적 고려 사항
(+) 개인 정보 보호
크롤링을 수행할 때에는 사용자의 개인정보를 보호해야 한다.
사용자의 동의 없이 개인정보를 수집하거나 불법적으로 사용하지 않는다.
(+) 서버 부하 최소화
크롤링 작업을 수행 시, 서버에 부하를 주지 않도록 주의한다.
일정한 요청 간격을 유지하고, 동시에 너무 많은 요청을 보내지 않도록 하는 등의 조치를 취한다.
(+) 데이터 사용 동의
크롤링된 데이터를 사용하기 전에 해당 데이터의 사용에 대한 동의를 얻는다.
데이터의 사용 목적을 명확히 밝히고, 필요한 경우 웹사이트 소유자와 협의 및 합의 과정을 거친다.
법적 제약 사항 및 사례
웹 크롤링에는 법적 제약 사항이 존재한다.
법적 사항은 국가 및 지역에 따라 다를 수 있으므로,
법적 조언을 받거나 해당 국가의 법률을 확인하는 것이 중요하다.
법적 제약 사항 및 사례
(-) 저작권
웹페이지의 내용은 저작권의 보호를 받는다.
상업적으로 활용하거나 웹사이트 소유자의 동의 없이 컨텐츠를 복제하는 것은 저작권 침해로 간주될 수 있다.
[실제 사례]
Google과 Oracle 간의 법정 소송에서, Google이 Oracle의 Java API를 크롤링하여 사용한 것이
저작권 침해로 인정되어 논란이 되었다.
(-) 개인 정보 보호
사용자의 개인정보를 수집하거나 처리할 때, 개인정보 보호 관련 법률을 준수해야 한다.
사용자의 동의 없이 개인정보를 수집하거나 불법적으로 처리하는 것은 개인정보 침해로 간주될 수 있다.
[실제 사례]
Facebook의 Cambridge Analytica 사건은 Facebook 사용자의 개인정보를 크롤링하여
불법적으로 수집하고 활용한 사례로 큰 논란이 되었다.
법적 제약 사항 및 사례
(-) 서비스 약관 및 이용 정책
대부분의 웹사이트는 서비스 약관이나 이용 정책을 갖고 있다.
이를 위반하거나 약관에 명시된 제한사항을 무시하는 것은 법적 문제를 야기할 수 있다.
[실제 사례]
LinkedIn은 HiQ Labs가 LinkedIn 프로필 데이터를 크롤링하여 사용한 것을 고발한 적이 있다.
이 사례에서는 공개된 프로필 데이터의 크롤링이 합법적인 데이터 수집으로 인정되었으며,
웹사이트 소유자와 크롤러 사이의 법적 대립이 있었다.
(-) 악의적인 행위
웹 크롤링을 악용하여 스팸 메일 전송, 사기 행위, 서비스 거부 공격(DDoS) 등의 법적 금지 행위를 수행하는 것
[실제 사례]
네덜란드의 여행사가 Ryanair 웹사이트에서 티켓 가격 정보를 크롤링하여 자체 웹사이트에 게시한 후,
이를 이용해 Ryanair의 경쟁사인 Vliegtickets.nl을 비난하는 사례가 있었다.
활용 사례 및 장단점
05
활용 사례
(1) 검색 엔진
크롤러는 인터넷 상의 웹페이지를 순회하고,
해당 페이지의 내용을 색인화하여 검색 결과를 제공하는 역할을 한다.
(2) 가격 비교 및 상품 추적
웹 크롤링은 온라인 상점에서 제품의 가격 정보를 수집하여 비교하거나,
특정 상품의 가격 변동을 추적하는 데에도 활용된다.
이를 통해 소비자는 가장 저렴한 가격을 찾을 수 있고, 판매자는 시장 동향을 파악할 수 있다.
활용 사례
(3) 뉴스 및 미디어 모니터링
언론사나 뉴스 웹사이트에서 웹 크롤링을 통해 특정 주제나 키워드와 관련된 기사를 수집하고, 모니터링하는 데
에 사용한다. 이를 통해 기업은 브랜드 관련 소식이나 경쟁사 동향을 파악하고, 정부는 정책에 대한 반응과 공론화
상황을 파악할 수 있다.
(4) 소셜 미디어 분석
웹 크롤링은 소셜 미디어 플랫폼에서 사용자의 의견이나 감정을 분석하는 데에도 활용된다.
특정 주제, 제품, 이벤트에 대한 트윗이나 게시물을 수집하여 키워드 분석, 감성 분석, 트렌드 분석 등을 수행하고
이를 바탕으로 마케팅 전략을 수정할 수 있다.
(5) 연구 및 학문
연구나 학문적인 목적으로도 활용 가능하다.
예를 들어, 학술 논문 분석, 문헌 조사, 통계 데이터 수집 등에 웹 크롤링이 사용될 수 있다.
웹크롤링 장점
다양한 데이터 접근 실시간 업데이트
자동화된 데이터 수집 대용량 데이터 처리
웹크롤링 단점
법적 제약 사항 데이터 구조 변경
서버 부하 데이터 일관성

More Related Content

What's hot

일관된 경험을 주는 브랜드 만들기.pdf
일관된 경험을 주는 브랜드 만들기.pdf 일관된 경험을 주는 브랜드 만들기.pdf
일관된 경험을 주는 브랜드 만들기.pdf Tac Min Oh
 
Web Scraping using Python | Web Screen Scraping
Web Scraping using Python | Web Screen ScrapingWeb Scraping using Python | Web Screen Scraping
Web Scraping using Python | Web Screen ScrapingCynthiaCruz55
 
그로스 해킹 - Growth Hacking
그로스 해킹 - Growth Hacking그로스 해킹 - Growth Hacking
그로스 해킹 - Growth HackingWooseok Seo
 
Brighton SEO Autumn 2021: Core Web Vitals: Loopholes, Flaws, and Endless Delays
Brighton SEO Autumn 2021: Core Web Vitals: Loopholes, Flaws, and Endless DelaysBrighton SEO Autumn 2021: Core Web Vitals: Loopholes, Flaws, and Endless Delays
Brighton SEO Autumn 2021: Core Web Vitals: Loopholes, Flaws, and Endless DelaysTom Capper
 
데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립승화 양
 
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) 오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) Yongho Ha
 
Getting started with Web Scraping in Python
Getting started with Web Scraping in PythonGetting started with Web Scraping in Python
Getting started with Web Scraping in PythonSatwik Kansal
 
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다승화 양
 
Introduction to Web Scraping using Python and Beautiful Soup
Introduction to Web Scraping using Python and Beautiful SoupIntroduction to Web Scraping using Python and Beautiful Soup
Introduction to Web Scraping using Python and Beautiful SoupTushar Mittal
 
HTML5: The Next Internet Goldrush
HTML5: The Next Internet GoldrushHTML5: The Next Internet Goldrush
HTML5: The Next Internet GoldrushPeter Lubbers
 
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)Hyeyon Kwon
 
Web Scraping With Python
Web Scraping With PythonWeb Scraping With Python
Web Scraping With PythonRobert Dempsey
 
HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델Seong-Bok Lee
 
Web Scraping and Data Extraction Service
Web Scraping and Data Extraction ServiceWeb Scraping and Data Extraction Service
Web Scraping and Data Extraction ServicePromptCloud
 
Technical SEO Myths Facts And Theories On Crawl Budget And The Importance Of ...
Technical SEO Myths Facts And Theories On Crawl Budget And The Importance Of ...Technical SEO Myths Facts And Theories On Crawl Budget And The Importance Of ...
Technical SEO Myths Facts And Theories On Crawl Budget And The Importance Of ...Dawn Anderson MSc DigM
 

What's hot (20)

일관된 경험을 주는 브랜드 만들기.pdf
일관된 경험을 주는 브랜드 만들기.pdf 일관된 경험을 주는 브랜드 만들기.pdf
일관된 경험을 주는 브랜드 만들기.pdf
 
Web Scraping using Python | Web Screen Scraping
Web Scraping using Python | Web Screen ScrapingWeb Scraping using Python | Web Screen Scraping
Web Scraping using Python | Web Screen Scraping
 
그로스 해킹 - Growth Hacking
그로스 해킹 - Growth Hacking그로스 해킹 - Growth Hacking
그로스 해킹 - Growth Hacking
 
Brighton SEO Autumn 2021: Core Web Vitals: Loopholes, Flaws, and Endless Delays
Brighton SEO Autumn 2021: Core Web Vitals: Loopholes, Flaws, and Endless DelaysBrighton SEO Autumn 2021: Core Web Vitals: Loopholes, Flaws, and Endless Delays
Brighton SEO Autumn 2021: Core Web Vitals: Loopholes, Flaws, and Endless Delays
 
데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립
 
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA) 오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
오늘 밤부터 쓰는 google analytics (구글 애널리틱스, GA)
 
Getting started with Web Scraping in Python
Getting started with Web Scraping in PythonGetting started with Web Scraping in Python
Getting started with Web Scraping in Python
 
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
 
Introduction to Web Scraping using Python and Beautiful Soup
Introduction to Web Scraping using Python and Beautiful SoupIntroduction to Web Scraping using Python and Beautiful Soup
Introduction to Web Scraping using Python and Beautiful Soup
 
HTML5: The Next Internet Goldrush
HTML5: The Next Internet GoldrushHTML5: The Next Internet Goldrush
HTML5: The Next Internet Goldrush
 
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
게임 유저 행동 분석으로 이탈 방지하는 방법 (텐투플레이 웨비나)
 
Web Scraping With Python
Web Scraping With PythonWeb Scraping With Python
Web Scraping With Python
 
Web crawler
Web crawlerWeb crawler
Web crawler
 
HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델HR Analytics - 퇴직가능성예측모델
HR Analytics - 퇴직가능성예측모델
 
Schema Markup
Schema MarkupSchema Markup
Schema Markup
 
Web Scraping and Data Extraction Service
Web Scraping and Data Extraction ServiceWeb Scraping and Data Extraction Service
Web Scraping and Data Extraction Service
 
Technical SEO Myths Facts And Theories On Crawl Budget And The Importance Of ...
Technical SEO Myths Facts And Theories On Crawl Budget And The Importance Of ...Technical SEO Myths Facts And Theories On Crawl Budget And The Importance Of ...
Technical SEO Myths Facts And Theories On Crawl Budget And The Importance Of ...
 
On page seo ppt
On page seo ppt On page seo ppt
On page seo ppt
 
Web crawler
Web crawlerWeb crawler
Web crawler
 
SEO Marketing
SEO Marketing SEO Marketing
SEO Marketing
 

Similar to Web Crawling

웹크롤러 조사
웹크롤러 조사웹크롤러 조사
웹크롤러 조사rupert kim
 
[법무법인 민후] 크롤링과 데이터베이스제작자의 권리
[법무법인 민후] 크롤링과 데이터베이스제작자의 권리[법무법인 민후] 크롤링과 데이터베이스제작자의 권리
[법무법인 민후] 크롤링과 데이터베이스제작자의 권리MINWHO Law Group
 
[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비
[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비
[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비ADOP(애드오피)
 
사이버보안 핵심원리 / Cybersecurity Fundamentals
사이버보안 핵심원리 / Cybersecurity Fundamentals사이버보안 핵심원리 / Cybersecurity Fundamentals
사이버보안 핵심원리 / Cybersecurity FundamentalsJean Ryu
 
HTTP 완벽 가이드 9~10장
HTTP 완벽 가이드 9~10장HTTP 완벽 가이드 9~10장
HTTP 완벽 가이드 9~10장Hyejin Oh
 
공공데이터 개방현황 및 포털 발전방향
공공데이터 개방현황 및 포털 발전방향공공데이터 개방현황 및 포털 발전방향
공공데이터 개방현황 및 포털 발전방향Haklae Kim
 
Google
GoogleGoogle
Googletosilh
 
Web analytics 2.0 study ch.4-4.5
Web analytics 2.0 study ch.4-4.5Web analytics 2.0 study ch.4-4.5
Web analytics 2.0 study ch.4-4.5Eunyoung Kim
 
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼Cheol Kang
 
[법무법인 민후] 자율주행자동차 관련 개인정보 및 위치정보 법률적 쟁점 검토
[법무법인 민후] 자율주행자동차 관련 개인정보 및 위치정보 법률적 쟁점 검토[법무법인 민후] 자율주행자동차 관련 개인정보 및 위치정보 법률적 쟁점 검토
[법무법인 민후] 자율주행자동차 관련 개인정보 및 위치정보 법률적 쟁점 검토MINWHO Law Group
 
HTML5_security_(next_generation_threats)
HTML5_security_(next_generation_threats)HTML5_security_(next_generation_threats)
HTML5_security_(next_generation_threats)한익 주
 
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요dgmit2009
 
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 201830분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018Amazon Web Services Korea
 
블록체인 기술 적용 사례
블록체인 기술 적용 사례블록체인 기술 적용 사례
블록체인 기술 적용 사례ICON Foundation
 
누구도 알려주지 않는 크롤링의 함정
누구도 알려주지 않는 크롤링의 함정누구도 알려주지 않는 크롤링의 함정
누구도 알려주지 않는 크롤링의 함정Herren
 
구축후관리방안
구축후관리방안구축후관리방안
구축후관리방안rey2998
 
블록체인과 프라이버시 - Blockchain and Privacy
블록체인과 프라이버시 - Blockchain and Privacy블록체인과 프라이버시 - Blockchain and Privacy
블록체인과 프라이버시 - Blockchain and PrivacyYoungmoo Lew
 
[발표자료] 190401 논문 정보 수집과 연구 동향 분석 세미나
[발표자료] 190401 논문 정보 수집과 연구 동향 분석 세미나[발표자료] 190401 논문 정보 수집과 연구 동향 분석 세미나
[발표자료] 190401 논문 정보 수집과 연구 동향 분석 세미나Cyram Inc
 
유지보수 0원 가능하게 한 크롤링 기술
유지보수 0원 가능하게 한 크롤링 기술유지보수 0원 가능하게 한 크롤링 기술
유지보수 0원 가능하게 한 크롤링 기술HashScraper Inc.
 
클라우드 기반 핀테크 혁신 및 삼성 SDS 블록체인 사례 소개::박은애::AWS Summit Seoul 2018
클라우드 기반 핀테크 혁신 및 삼성 SDS 블록체인 사례 소개::박은애::AWS Summit Seoul 2018클라우드 기반 핀테크 혁신 및 삼성 SDS 블록체인 사례 소개::박은애::AWS Summit Seoul 2018
클라우드 기반 핀테크 혁신 및 삼성 SDS 블록체인 사례 소개::박은애::AWS Summit Seoul 2018Amazon Web Services Korea
 

Similar to Web Crawling (20)

웹크롤러 조사
웹크롤러 조사웹크롤러 조사
웹크롤러 조사
 
[법무법인 민후] 크롤링과 데이터베이스제작자의 권리
[법무법인 민후] 크롤링과 데이터베이스제작자의 권리[법무법인 민후] 크롤링과 데이터베이스제작자의 권리
[법무법인 민후] 크롤링과 데이터베이스제작자의 권리
 
[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비
[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비
[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비
 
사이버보안 핵심원리 / Cybersecurity Fundamentals
사이버보안 핵심원리 / Cybersecurity Fundamentals사이버보안 핵심원리 / Cybersecurity Fundamentals
사이버보안 핵심원리 / Cybersecurity Fundamentals
 
HTTP 완벽 가이드 9~10장
HTTP 완벽 가이드 9~10장HTTP 완벽 가이드 9~10장
HTTP 완벽 가이드 9~10장
 
공공데이터 개방현황 및 포털 발전방향
공공데이터 개방현황 및 포털 발전방향공공데이터 개방현황 및 포털 발전방향
공공데이터 개방현황 및 포털 발전방향
 
Google
GoogleGoogle
Google
 
Web analytics 2.0 study ch.4-4.5
Web analytics 2.0 study ch.4-4.5Web analytics 2.0 study ch.4-4.5
Web analytics 2.0 study ch.4-4.5
 
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼
 
[법무법인 민후] 자율주행자동차 관련 개인정보 및 위치정보 법률적 쟁점 검토
[법무법인 민후] 자율주행자동차 관련 개인정보 및 위치정보 법률적 쟁점 검토[법무법인 민후] 자율주행자동차 관련 개인정보 및 위치정보 법률적 쟁점 검토
[법무법인 민후] 자율주행자동차 관련 개인정보 및 위치정보 법률적 쟁점 검토
 
HTML5_security_(next_generation_threats)
HTML5_security_(next_generation_threats)HTML5_security_(next_generation_threats)
HTML5_security_(next_generation_threats)
 
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
 
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 201830분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
 
블록체인 기술 적용 사례
블록체인 기술 적용 사례블록체인 기술 적용 사례
블록체인 기술 적용 사례
 
누구도 알려주지 않는 크롤링의 함정
누구도 알려주지 않는 크롤링의 함정누구도 알려주지 않는 크롤링의 함정
누구도 알려주지 않는 크롤링의 함정
 
구축후관리방안
구축후관리방안구축후관리방안
구축후관리방안
 
블록체인과 프라이버시 - Blockchain and Privacy
블록체인과 프라이버시 - Blockchain and Privacy블록체인과 프라이버시 - Blockchain and Privacy
블록체인과 프라이버시 - Blockchain and Privacy
 
[발표자료] 190401 논문 정보 수집과 연구 동향 분석 세미나
[발표자료] 190401 논문 정보 수집과 연구 동향 분석 세미나[발표자료] 190401 논문 정보 수집과 연구 동향 분석 세미나
[발표자료] 190401 논문 정보 수집과 연구 동향 분석 세미나
 
유지보수 0원 가능하게 한 크롤링 기술
유지보수 0원 가능하게 한 크롤링 기술유지보수 0원 가능하게 한 크롤링 기술
유지보수 0원 가능하게 한 크롤링 기술
 
클라우드 기반 핀테크 혁신 및 삼성 SDS 블록체인 사례 소개::박은애::AWS Summit Seoul 2018
클라우드 기반 핀테크 혁신 및 삼성 SDS 블록체인 사례 소개::박은애::AWS Summit Seoul 2018클라우드 기반 핀테크 혁신 및 삼성 SDS 블록체인 사례 소개::박은애::AWS Summit Seoul 2018
클라우드 기반 핀테크 혁신 및 삼성 SDS 블록체인 사례 소개::박은애::AWS Summit Seoul 2018
 

More from Wonjun Hwang

Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)Wonjun Hwang
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)Wonjun Hwang
 
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)Wonjun Hwang
 
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)Wonjun Hwang
 
Nest JS (Kitworks Team Study 이본훈 발표 240315)
Nest JS (Kitworks Team Study 이본훈 발표 240315)Nest JS (Kitworks Team Study 이본훈 발표 240315)
Nest JS (Kitworks Team Study 이본훈 발표 240315)Wonjun Hwang
 
JS Event Loop (Kitworks Team Study 김동현 발표)
JS Event Loop (Kitworks Team Study 김동현 발표)JS Event Loop (Kitworks Team Study 김동현 발표)
JS Event Loop (Kitworks Team Study 김동현 발표)Wonjun Hwang
 
Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)Wonjun Hwang
 
XSS(Cross site scripting) - Kitworks Team Study
XSS(Cross site scripting) - Kitworks Team StudyXSS(Cross site scripting) - Kitworks Team Study
XSS(Cross site scripting) - Kitworks Team StudyWonjun Hwang
 
Flutter & Firebase (2) Kitworks Team Study
Flutter & Firebase (2) Kitworks Team StudyFlutter & Firebase (2) Kitworks Team Study
Flutter & Firebase (2) Kitworks Team StudyWonjun Hwang
 
얕은복사,깊은복사
얕은복사,깊은복사얕은복사,깊은복사
얕은복사,깊은복사Wonjun Hwang
 
Go언어로 디스코드 봇 만들기
Go언어로 디스코드 봇 만들기Go언어로 디스코드 봇 만들기
Go언어로 디스코드 봇 만들기Wonjun Hwang
 
완전 유용한 CSS 모음
완전 유용한 CSS 모음완전 유용한 CSS 모음
완전 유용한 CSS 모음Wonjun Hwang
 
2024 개발 트렌드
2024 개발 트렌드2024 개발 트렌드
2024 개발 트렌드Wonjun Hwang
 
디바운싱과 쓰로틀링
디바운싱과 쓰로틀링디바운싱과 쓰로틀링
디바운싱과 쓰로틀링Wonjun Hwang
 
스마트한 팀 협업
스마트한 팀 협업스마트한 팀 협업
스마트한 팀 협업Wonjun Hwang
 

More from Wonjun Hwang (20)

Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
This (Kitworks Team Study 김한솔 발표자료 2024.4.22)
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)스토리북(Storybook, Kitworks Team Study 우아라 발표)
스토리북(Storybook, Kitworks Team Study 우아라 발표)
 
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
mysql8 전환기 (Kitworks Team Study 김천규 발표자료)
 
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)Open AI SORA  (키트웍스 팀스터디 발표자료 박준기 240315)
Open AI SORA (키트웍스 팀스터디 발표자료 박준기 240315)
 
Nest JS (Kitworks Team Study 이본훈 발표 240315)
Nest JS (Kitworks Team Study 이본훈 발표 240315)Nest JS (Kitworks Team Study 이본훈 발표 240315)
Nest JS (Kitworks Team Study 이본훈 발표 240315)
 
JS Event Loop (Kitworks Team Study 김동현 발표)
JS Event Loop (Kitworks Team Study 김동현 발표)JS Event Loop (Kitworks Team Study 김동현 발표)
JS Event Loop (Kitworks Team Study 김동현 발표)
 
Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)Java Optional (Kitworks Team Study 김성호 발표)
Java Optional (Kitworks Team Study 김성호 발표)
 
XSS(Cross site scripting) - Kitworks Team Study
XSS(Cross site scripting) - Kitworks Team StudyXSS(Cross site scripting) - Kitworks Team Study
XSS(Cross site scripting) - Kitworks Team Study
 
Flutter & Firebase (2) Kitworks Team Study
Flutter & Firebase (2) Kitworks Team StudyFlutter & Firebase (2) Kitworks Team Study
Flutter & Firebase (2) Kitworks Team Study
 
PWA
PWAPWA
PWA
 
얕은복사,깊은복사
얕은복사,깊은복사얕은복사,깊은복사
얕은복사,깊은복사
 
Go언어로 디스코드 봇 만들기
Go언어로 디스코드 봇 만들기Go언어로 디스코드 봇 만들기
Go언어로 디스코드 봇 만들기
 
완전 유용한 CSS 모음
완전 유용한 CSS 모음완전 유용한 CSS 모음
완전 유용한 CSS 모음
 
2024 개발 트렌드
2024 개발 트렌드2024 개발 트렌드
2024 개발 트렌드
 
디바운싱과 쓰로틀링
디바운싱과 쓰로틀링디바운싱과 쓰로틀링
디바운싱과 쓰로틀링
 
Passkey
PasskeyPasskey
Passkey
 
스마트한 팀 협업
스마트한 팀 협업스마트한 팀 협업
스마트한 팀 협업
 

Web Crawling

  • 3. Web Crawling 인터넷 상에 존재하는 다양한 웹페이지에서 정보를 수집하는 프로세스
  • 4. 웹 크롤링을 하는 이유 (1) 정보 수집 웹 크롤링을 통해 인터넷 상의 다양한 웹페이지에서 정보를 수집 (2) 경쟁력 확보 웹 크롤링을 통해 경쟁사의 제품, 가격, 서비스 등에 대한 정보를 수집하고 분석함으로써 경쟁력 확보 (3) 트렌드 파악 웹 크롤링으로 소셜 미디어, 뉴스 사이트 등에서 실시간으로 트렌드 파악 및 시장 동향 분석 가능 (4) 예측과 분석 수집한 웹 데이터를 활용하여 예측 모델링과 데이터 분석을 수행, 이를 통해 효과적인 전략 수립과 의사 결정 가능
  • 6. 기본 작동 원리 (1) 웹페이지 다운로드 웹 크롤러는 먼저 타겟 웹페이지를 다운로드 한다. 이를 위해 HTTP 또는 HTTPS 프로토콜을 사용하여 웹 서버에 요청을 보내고, 응답으로 HTML, CSS, JavaScript 및 기타 리소스를 받는다. (2) HTML 파싱 다운로드한 웹페이지의 HTML 코드를 파싱하여 웹페이지의 구조와 내용을 이해한다. 일반적으로 파싱에는 BeautifulSoup, lxml 등의 라이브러리가 사용된다.
  • 7. 기본 작동 원리 (3) 데이터 추출 파싱된 HTML에서 필요한 데이터를 추출한다. 이를 위해 CSS 선택자 또는 XPath와 같은 쿼리 언어를 사용하여 원하는 요소를 선택한다. (4) 데이터 처리 및 저장 추출한 데이터를 필요에 따라 가공, 정제 또는 분석하여 원하는 형식으로 가공한다. 가공 후 데이터베이스, CSV 파일, 엑셀 등에 저장하여 활용할 수 있다.
  • 8. 웹 크롤링 도구 (1) 파이썬 간결하고 가독성이 좋으며, 다양한 라이브러리와 모듈을 지원 (2) BeautifulSoup 파이썬 기반의 웹 크롤링 라이브러리 HTML 및 XML 문서를 파싱하고 데이터를 추출하는 데 사용 직관적인 API와 강력한 파싱 기능을 제공하여 웹 데이터 추출을 단순화
  • 9. 웹 크롤링 도구 (3) Scrapy 파이썬 기반의 웹 크롤링 프레임워크 웹 크롤링 및 스크래핑 작업을 자동화하기 위한 도구 강력한 스크래핑 능력, 분산 크롤링 지원, 자동화 기능 등을 제공하여 대규모 크롤링 작업에 적합 (4) 자동화 도구 동적 웹페이지나 JavaScript 기반의 기술을 다룰 때, 브라우저 자동화 도구인 Selenium 등을 활용
  • 10. 웹 크롤링 도구 (5) CSS 선택자 & XPath 웹페이지에서 원하는 요소를 선택하기 위한 쿼리 언어 CSS 선택자는 HTML 요소를 선택하기 위해, XPath는 XML 문서에서 요소를 선택하기 위해 사용 (6) 프록시 서버 크롤링 작업을 수행할 때, IP 차단이나 액세스 제한을 피하기 위해 프록시 서버를 사용 프록시 서버는 요청을 중계하여 웹사이트에 액세스하는 IP 주소를 숨기고, 액세스 제한을 우회하는 데 도움
  • 12. 로봇 배제 표준이란? 웹사이트 소유자가 크롤러 봇의 액세스를 제어하기 위한 규 약으로, 이 규약은 "robots.txt"라는 텍스트 파일을 통해 웹사 이트의 루트 디렉토리에 배치된다. 로봇 배제 표준의 목적은 웹사이트 소유자가 크롤러가 액세 스 가능한 영역과 액세스 금지 영역을 명시적으로 지정할 수 있도록 하는 것으로, 이를 통해 웹사이트의 데이터를 보호하 거나 특정 페이지를 제한하는 등의 액세스 제어를 수행할 수 있다.
  • 13. Robots.txt 구성 (+) User-agent 크롤러의 이름 또는 식별자를 지정 (+) Disallow 해당 크롤러에 대해 액세스 금지할 경로를 지정 (+) Allow 특정 경로에 대해 액세스를 허용하는 경우 지정 (+) Crawl-delay 크롤러 액세스 사이의 지연 시간을 지정
  • 15. 윤리적 고려 사항 웹 크롤링을 수행할 때에는 다음과 같은 윤리적 고려 사항을 염두에 두어야 한다. 이를 준수함으로써 웹사이트 소유자의 권리와 개인정보 보호를 존중하고, 적법하고 윤리적인 데이터 수집을 실천할 수 있다.
  • 16. 윤리적 고려 사항 (+) 로봇 배제 표준 준수 웹사이트 소유자가 지정한 로봇 배제 표준(robots.txt)을 준수한다. 액세스 제한된 페이지나 디렉토리에 대해 크롤링을 시도하지 않아야 한다. (+) 액세스 제한 사항 고려 웹사이트에서 명시적으로 액세스가 금지된 페이지나 디렉토리에 대해서는 크롤링을 시도하지 말아야 한다. 개인정보, 지적 재산권, 저작권 등의 보호를 위해 액세스 제한 사항을 준수한다. (+) 저작권과 지적 재산권 크롤링된 데이터의 저작권과 지적 재산권을 존중해야 한다. 크롤링된 데이터를 상업적으로 사용하기 전에 저작권자의 동의를 받아야 하며, 출처와 저작자 정보를 명시한다.
  • 17. 윤리적 고려 사항 (+) 개인 정보 보호 크롤링을 수행할 때에는 사용자의 개인정보를 보호해야 한다. 사용자의 동의 없이 개인정보를 수집하거나 불법적으로 사용하지 않는다. (+) 서버 부하 최소화 크롤링 작업을 수행 시, 서버에 부하를 주지 않도록 주의한다. 일정한 요청 간격을 유지하고, 동시에 너무 많은 요청을 보내지 않도록 하는 등의 조치를 취한다. (+) 데이터 사용 동의 크롤링된 데이터를 사용하기 전에 해당 데이터의 사용에 대한 동의를 얻는다. 데이터의 사용 목적을 명확히 밝히고, 필요한 경우 웹사이트 소유자와 협의 및 합의 과정을 거친다.
  • 18. 법적 제약 사항 및 사례 웹 크롤링에는 법적 제약 사항이 존재한다. 법적 사항은 국가 및 지역에 따라 다를 수 있으므로, 법적 조언을 받거나 해당 국가의 법률을 확인하는 것이 중요하다.
  • 19. 법적 제약 사항 및 사례 (-) 저작권 웹페이지의 내용은 저작권의 보호를 받는다. 상업적으로 활용하거나 웹사이트 소유자의 동의 없이 컨텐츠를 복제하는 것은 저작권 침해로 간주될 수 있다. [실제 사례] Google과 Oracle 간의 법정 소송에서, Google이 Oracle의 Java API를 크롤링하여 사용한 것이 저작권 침해로 인정되어 논란이 되었다. (-) 개인 정보 보호 사용자의 개인정보를 수집하거나 처리할 때, 개인정보 보호 관련 법률을 준수해야 한다. 사용자의 동의 없이 개인정보를 수집하거나 불법적으로 처리하는 것은 개인정보 침해로 간주될 수 있다. [실제 사례] Facebook의 Cambridge Analytica 사건은 Facebook 사용자의 개인정보를 크롤링하여 불법적으로 수집하고 활용한 사례로 큰 논란이 되었다.
  • 20. 법적 제약 사항 및 사례 (-) 서비스 약관 및 이용 정책 대부분의 웹사이트는 서비스 약관이나 이용 정책을 갖고 있다. 이를 위반하거나 약관에 명시된 제한사항을 무시하는 것은 법적 문제를 야기할 수 있다. [실제 사례] LinkedIn은 HiQ Labs가 LinkedIn 프로필 데이터를 크롤링하여 사용한 것을 고발한 적이 있다. 이 사례에서는 공개된 프로필 데이터의 크롤링이 합법적인 데이터 수집으로 인정되었으며, 웹사이트 소유자와 크롤러 사이의 법적 대립이 있었다. (-) 악의적인 행위 웹 크롤링을 악용하여 스팸 메일 전송, 사기 행위, 서비스 거부 공격(DDoS) 등의 법적 금지 행위를 수행하는 것 [실제 사례] 네덜란드의 여행사가 Ryanair 웹사이트에서 티켓 가격 정보를 크롤링하여 자체 웹사이트에 게시한 후, 이를 이용해 Ryanair의 경쟁사인 Vliegtickets.nl을 비난하는 사례가 있었다.
  • 21. 활용 사례 및 장단점 05
  • 22. 활용 사례 (1) 검색 엔진 크롤러는 인터넷 상의 웹페이지를 순회하고, 해당 페이지의 내용을 색인화하여 검색 결과를 제공하는 역할을 한다. (2) 가격 비교 및 상품 추적 웹 크롤링은 온라인 상점에서 제품의 가격 정보를 수집하여 비교하거나, 특정 상품의 가격 변동을 추적하는 데에도 활용된다. 이를 통해 소비자는 가장 저렴한 가격을 찾을 수 있고, 판매자는 시장 동향을 파악할 수 있다.
  • 23. 활용 사례 (3) 뉴스 및 미디어 모니터링 언론사나 뉴스 웹사이트에서 웹 크롤링을 통해 특정 주제나 키워드와 관련된 기사를 수집하고, 모니터링하는 데 에 사용한다. 이를 통해 기업은 브랜드 관련 소식이나 경쟁사 동향을 파악하고, 정부는 정책에 대한 반응과 공론화 상황을 파악할 수 있다. (4) 소셜 미디어 분석 웹 크롤링은 소셜 미디어 플랫폼에서 사용자의 의견이나 감정을 분석하는 데에도 활용된다. 특정 주제, 제품, 이벤트에 대한 트윗이나 게시물을 수집하여 키워드 분석, 감성 분석, 트렌드 분석 등을 수행하고 이를 바탕으로 마케팅 전략을 수정할 수 있다. (5) 연구 및 학문 연구나 학문적인 목적으로도 활용 가능하다. 예를 들어, 학술 논문 분석, 문헌 조사, 통계 데이터 수집 등에 웹 크롤링이 사용될 수 있다.
  • 24. 웹크롤링 장점 다양한 데이터 접근 실시간 업데이트 자동화된 데이터 수집 대용량 데이터 처리
  • 25. 웹크롤링 단점 법적 제약 사항 데이터 구조 변경 서버 부하 데이터 일관성