Web Crawling

Wonjun Hwang
Wonjun HwangCEO @Kit Works Inc. à Kit Works inc.
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) 연구 및 학문
연구나 학문적인 목적으로도 활용 가능하다.
예를 들어, 학술 논문 분석, 문헌 조사, 통계 데이터 수집 등에 웹 크롤링이 사용될 수 있다.
웹크롤링 장점
다양한 데이터 접근 실시간 업데이트
자동화된 데이터 수집 대용량 데이터 처리
웹크롤링 단점
법적 제약 사항 데이터 구조 변경
서버 부하 데이터 일관성
1 sur 25

Recommandé

파이썬을 활용한 웹 크롤링 par
파이썬을 활용한 웹 크롤링파이썬을 활용한 웹 크롤링
파이썬을 활용한 웹 크롤링HWANGTAEYONG
1.9K vues39 diapositives
웹수집(Web Crawling) par
웹수집(Web Crawling)웹수집(Web Crawling)
웹수집(Web Crawling)wang inyoung
1.8K vues36 diapositives
일관된 경험을 주는 브랜드 만들기.pdf par
일관된 경험을 주는 브랜드 만들기.pdf 일관된 경험을 주는 브랜드 만들기.pdf
일관된 경험을 주는 브랜드 만들기.pdf Tac Min Oh
2.5K vues79 diapositives
28. 창업기업의 브랜드 가치를 높이는 홍보마케팅 par
28. 창업기업의 브랜드 가치를 높이는 홍보마케팅28. 창업기업의 브랜드 가치를 높이는 홍보마케팅
28. 창업기업의 브랜드 가치를 높이는 홍보마케팅창업 에듀
1.8K vues17 diapositives
그로스해킹 기초 par
그로스해킹 기초그로스해킹 기초
그로스해킹 기초keunbong kwak
2.2K vues74 diapositives
브랜드시스템디자인 par
브랜드시스템디자인브랜드시스템디자인
브랜드시스템디자인Q&COMPANY
4.4K vues52 diapositives

Contenu connexe

Tendances

데이터가 흐르는 조직 만들기 - 마이리얼트립 par
데이터가 흐르는 조직 만들기 - 마이리얼트립데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립승화 양
13.7K vues47 diapositives
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판) par
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)Yongho Ha
153.2K vues110 diapositives
파라카 사업계획서 par
파라카 사업계획서파라카 사업계획서
파라카 사업계획서Kim JongHoon
1.2K vues39 diapositives
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표 par
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표Dylan Ko
17.1K vues47 diapositives
[창업자&예비창업자] 2019년 스타트업 마케팅 par
[창업자&예비창업자] 2019년 스타트업 마케팅[창업자&예비창업자] 2019년 스타트업 마케팅
[창업자&예비창업자] 2019년 스타트업 마케팅더게임체인저스
4.1K vues39 diapositives
서비스 기획자를 위한 데이터분석 시작하기 par
서비스 기획자를 위한 데이터분석 시작하기서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기승화 양
77.8K vues125 diapositives

Tendances(20)

데이터가 흐르는 조직 만들기 - 마이리얼트립 par 승화 양
데이터가 흐르는 조직 만들기 - 마이리얼트립데이터가 흐르는 조직 만들기 - 마이리얼트립
데이터가 흐르는 조직 만들기 - 마이리얼트립
승화 양13.7K vues
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판) par Yongho Ha
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
Yongho Ha153.2K vues
파라카 사업계획서 par Kim JongHoon
파라카 사업계획서파라카 사업계획서
파라카 사업계획서
Kim JongHoon1.2K vues
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표 par Dylan Ko
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
[우리가 데이터를 쓰는 법] 좋다는 건 알겠는데 좀 써보고 싶소. 데이터! - 넘버웍스 하용호 대표
Dylan Ko17.1K vues
[창업자&예비창업자] 2019년 스타트업 마케팅 par 더게임체인저스
[창업자&예비창업자] 2019년 스타트업 마케팅[창업자&예비창업자] 2019년 스타트업 마케팅
[창업자&예비창업자] 2019년 스타트업 마케팅
서비스 기획자를 위한 데이터분석 시작하기 par 승화 양
서비스 기획자를 위한 데이터분석 시작하기서비스 기획자를 위한 데이터분석 시작하기
서비스 기획자를 위한 데이터분석 시작하기
승화 양77.8K vues
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko) par Dylan Ko
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)
그로스 해킹 & 데이터 프로덕트 (Growth Hacking & Data Product) - 고넥터 고영혁 (Gonnector Dylan Ko)
Dylan Ko4.9K vues
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스 par Minwoo Kim
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
데이터 기반 성장을 위한 선결 조건: Product-Market Fit, Instrumentation, 그리고 프로세스
Minwoo Kim1.8K vues
스타트업 데이터분석 - 퍼널분석과 코호트분석 par Seonggwan Lee
스타트업 데이터분석 - 퍼널분석과 코호트분석스타트업 데이터분석 - 퍼널분석과 코호트분석
스타트업 데이터분석 - 퍼널분석과 코호트분석
Seonggwan Lee48.5K vues
서비스 기획자의 데이터 분석 par YOO SE KYUN
서비스 기획자의 데이터 분석서비스 기획자의 데이터 분석
서비스 기획자의 데이터 분석
YOO SE KYUN36.8K vues
어떻게 하면 데이터 사이언티스트가 될 수 있나요? par Yongho Ha
어떻게 하면 데이터 사이언티스트가 될 수 있나요?어떻게 하면 데이터 사이언티스트가 될 수 있나요?
어떻게 하면 데이터 사이언티스트가 될 수 있나요?
Yongho Ha56.2K vues
'Growth Hacking (그로스 해킹)’ 적용 사례 par RocketPunch Inc.
'Growth Hacking (그로스 해킹)’ 적용 사례'Growth Hacking (그로스 해킹)’ 적용 사례
'Growth Hacking (그로스 해킹)’ 적용 사례
RocketPunch Inc.31.7K vues
[정보 디자인 교과서] 2-1 정보의 조직화 par sunhee kim
[정보 디자인 교과서] 2-1 정보의 조직화[정보 디자인 교과서] 2-1 정보의 조직화
[정보 디자인 교과서] 2-1 정보의 조직화
sunhee kim5.6K vues
01 브랜드 마케팅 컨설팅 new par unitasclass
01 브랜드 마케팅 컨설팅 new01 브랜드 마케팅 컨설팅 new
01 브랜드 마케팅 컨설팅 new
unitasclass3.1K vues
효과적인 사업계획서를 쓰는 방법을 찾아서 par JAEHUN KIM
효과적인 사업계획서를 쓰는 방법을 찾아서 효과적인 사업계획서를 쓰는 방법을 찾아서
효과적인 사업계획서를 쓰는 방법을 찾아서
JAEHUN KIM2.3K vues
데이터는 차트가 아니라 돈이 되어야 한다. par Yongho Ha
데이터는 차트가 아니라 돈이 되어야 한다.데이터는 차트가 아니라 돈이 되어야 한다.
데이터는 차트가 아니라 돈이 되어야 한다.
Yongho Ha56.5K vues
마케팅 인사이트를 위한 데이터 분석 par ACE Trader
마케팅 인사이트를 위한 데이터 분석마케팅 인사이트를 위한 데이터 분석
마케팅 인사이트를 위한 데이터 분석
ACE Trader6.5K vues
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다 par 승화 양
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
실전 스타트업 데이터분석: 소셜데이팅 이음은 이렇게 한다
승화 양38.1K vues

Similaire à Web Crawling

웹크롤러 조사 par
웹크롤러 조사웹크롤러 조사
웹크롤러 조사rupert kim
1.7K vues29 diapositives
[법무법인 민후] 크롤링과 데이터베이스제작자의 권리 par
[법무법인 민후] 크롤링과 데이터베이스제작자의 권리[법무법인 민후] 크롤링과 데이터베이스제작자의 권리
[법무법인 민후] 크롤링과 데이터베이스제작자의 권리MINWHO Law Group
3.1K vues50 diapositives
[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비 par
[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비
[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비ADOP(애드오피)
194 vues9 diapositives
사이버보안 핵심원리 / Cybersecurity Fundamentals par
사이버보안 핵심원리 / Cybersecurity Fundamentals사이버보안 핵심원리 / Cybersecurity Fundamentals
사이버보안 핵심원리 / Cybersecurity FundamentalsJean Ryu
196 vues26 diapositives
HTTP 완벽 가이드 9~10장 par
HTTP 완벽 가이드 9~10장HTTP 완벽 가이드 9~10장
HTTP 완벽 가이드 9~10장Hyejin Oh
176 vues31 diapositives
공공데이터 개방현황 및 포털 발전방향 par
공공데이터 개방현황 및 포털 발전방향공공데이터 개방현황 및 포털 발전방향
공공데이터 개방현황 및 포털 발전방향Haklae Kim
6.1K vues33 diapositives

Similaire à Web Crawling(20)

웹크롤러 조사 par rupert kim
웹크롤러 조사웹크롤러 조사
웹크롤러 조사
rupert kim1.7K vues
[법무법인 민후] 크롤링과 데이터베이스제작자의 권리 par MINWHO Law Group
[법무법인 민후] 크롤링과 데이터베이스제작자의 권리[법무법인 민후] 크롤링과 데이터베이스제작자의 권리
[법무법인 민후] 크롤링과 데이터베이스제작자의 권리
MINWHO Law Group3.1K vues
[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비 par ADOP(애드오피)
[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비
[애드오피 트렌드] 제 3자 쿠키의 종말, 디지털 광고의 변화와 준비
사이버보안 핵심원리 / Cybersecurity Fundamentals par Jean Ryu
사이버보안 핵심원리 / Cybersecurity Fundamentals사이버보안 핵심원리 / Cybersecurity Fundamentals
사이버보안 핵심원리 / Cybersecurity Fundamentals
Jean Ryu196 vues
HTTP 완벽 가이드 9~10장 par Hyejin Oh
HTTP 완벽 가이드 9~10장HTTP 완벽 가이드 9~10장
HTTP 완벽 가이드 9~10장
Hyejin Oh176 vues
공공데이터 개방현황 및 포털 발전방향 par Haklae Kim
공공데이터 개방현황 및 포털 발전방향공공데이터 개방현황 및 포털 발전방향
공공데이터 개방현황 및 포털 발전방향
Haklae Kim6.1K vues
Google par tosilh
GoogleGoogle
Google
tosilh201 vues
Web analytics 2.0 study ch.4-4.5 par Eunyoung Kim
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
Eunyoung Kim1.1K vues
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼 par Cheol Kang
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼
[PyConKR 2014] 30분만에 따라하는 동시성 스크래퍼
Cheol Kang14.9K vues
[2018 데이터야놀자] 웹크롤링 좀 더 잘하기 par wangwon Lee
[2018 데이터야놀자] 웹크롤링 좀 더 잘하기[2018 데이터야놀자] 웹크롤링 좀 더 잘하기
[2018 데이터야놀자] 웹크롤링 좀 더 잘하기
wangwon Lee21.2K vues
[법무법인 민후] 자율주행자동차 관련 개인정보 및 위치정보 법률적 쟁점 검토 par MINWHO Law Group
[법무법인 민후] 자율주행자동차 관련 개인정보 및 위치정보 법률적 쟁점 검토[법무법인 민후] 자율주행자동차 관련 개인정보 및 위치정보 법률적 쟁점 검토
[법무법인 민후] 자율주행자동차 관련 개인정보 및 위치정보 법률적 쟁점 검토
MINWHO Law Group586 vues
HTML5_security_(next_generation_threats) par 한익 주
HTML5_security_(next_generation_threats)HTML5_security_(next_generation_threats)
HTML5_security_(next_generation_threats)
한익 주2.1K vues
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요 par dgmit2009
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
DGMIT 제3회 R&D 컨퍼런스 r&d1 team : HTTP 프로토콜 개요
dgmit20091.1K vues
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018 par Amazon Web Services Korea
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 201830분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
30분만에 만드는 AWS 기반 빅데이터 분석 애플리케이션::안효빈::AWS Summit Seoul 2018
누구도 알려주지 않는 크롤링의 함정 par Herren
누구도 알려주지 않는 크롤링의 함정누구도 알려주지 않는 크롤링의 함정
누구도 알려주지 않는 크롤링의 함정
Herren17.9K vues
구축후관리방안 par rey2998
구축후관리방안구축후관리방안
구축후관리방안
rey299872 vues
블록체인과 프라이버시 - Blockchain and Privacy par Youngmoo Lew
블록체인과 프라이버시 - Blockchain and Privacy블록체인과 프라이버시 - Blockchain and Privacy
블록체인과 프라이버시 - Blockchain and Privacy
Youngmoo Lew410 vues
[발표자료] 190401 논문 정보 수집과 연구 동향 분석 세미나 par Cyram Inc
[발표자료] 190401 논문 정보 수집과 연구 동향 분석 세미나[발표자료] 190401 논문 정보 수집과 연구 동향 분석 세미나
[발표자료] 190401 논문 정보 수집과 연구 동향 분석 세미나
Cyram Inc10.5K vues
유지보수 0원 가능하게 한 크롤링 기술 par HashScraper Inc.
유지보수 0원 가능하게 한 크롤링 기술유지보수 0원 가능하게 한 크롤링 기술
유지보수 0원 가능하게 한 크롤링 기술
HashScraper Inc.11.1K vues

Plus de Wonjun Hwang

상속과 구현 par
상속과 구현상속과 구현
상속과 구현Wonjun Hwang
8 vues77 diapositives
오버라이딩 조금 더 알아보기 par
오버라이딩 조금 더 알아보기오버라이딩 조금 더 알아보기
오버라이딩 조금 더 알아보기Wonjun Hwang
8 vues22 diapositives
컴포넌트 설계 par
컴포넌트 설계컴포넌트 설계
컴포넌트 설계Wonjun Hwang
18 vues21 diapositives
성능 테스트 par
성능 테스트성능 테스트
성능 테스트Wonjun Hwang
15 vues13 diapositives
WebRTC par
WebRTCWebRTC
WebRTCWonjun Hwang
24 vues18 diapositives
Flutter & Firebase par
Flutter & FirebaseFlutter & Firebase
Flutter & FirebaseWonjun Hwang
20 vues16 diapositives

Plus de Wonjun Hwang(20)

오버라이딩 조금 더 알아보기 par Wonjun Hwang
오버라이딩 조금 더 알아보기오버라이딩 조금 더 알아보기
오버라이딩 조금 더 알아보기
Wonjun Hwang8 vues
프론트엔드 비동기 프로그래밍 par Wonjun Hwang
프론트엔드 비동기 프로그래밍프론트엔드 비동기 프로그래밍
프론트엔드 비동기 프로그래밍
Wonjun Hwang29 vues
트렌디 앱 - ARC & OBSIDIAN par Wonjun Hwang
트렌디 앱 - ARC & OBSIDIAN트렌디 앱 - ARC & OBSIDIAN
트렌디 앱 - ARC & OBSIDIAN
Wonjun Hwang32 vues
차이나는 개발자 클라스 par Wonjun Hwang
차이나는 개발자 클라스차이나는 개발자 클라스
차이나는 개발자 클라스
Wonjun Hwang6 vues
차이나는 개발자 클라스 par Wonjun Hwang
차이나는 개발자 클라스차이나는 개발자 클라스
차이나는 개발자 클라스
Wonjun Hwang38 vues

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. 웹크롤링 단점 법적 제약 사항 데이터 구조 변경 서버 부하 데이터 일관성