<4D F736F F F696E74202D20C1A63135C0E520C0A520BDBAC5A9B7A1C7CE>

Similar documents
Microsoft PowerPoint 웹 연동 기술.pptx

Web Scraper in 30 Minutes 강철

Windows 8에서 BioStar 1 설치하기

Microsoft Word - src.doc

PowerPoint Template

6강.hwp

게시판 스팸 실시간 차단 시스템

Research & Technique Apache Tomcat RCE 취약점 (CVE ) 취약점개요 지난 4월 15일전세계적으로가장많이사용되는웹애플리케이션서버인 Apache Tomcat에서 RCE 취약점이공개되었다. CVE 취약점은 W

소프트웨어 융합 개론

다른 JSP 페이지호출 forward() 메서드 - 하나의 JSP 페이지실행이끝나고다른 JSP 페이지를호출할때사용한다. 예 ) <% RequestDispatcher dispatcher = request.getrequestdispatcher(" 실행할페이지.jsp");

PowerPoint 프레젠테이션

Microsoft PowerPoint - ch02_인터넷 이해와 활용.ppt

<4D F736F F F696E74202D E20C0CEC5CDB3DD20C0C0BFEB20B9D720BCADBAF1BDBA20B1E2BCFA E >

PowerPoint Template

PowerPoint Presentation

Studuino소프트웨어 설치

소프트웨어공학 Tutorial #2: StarUML Eun Man Choi

PowerPoint 프레젠테이션

Microsoft PowerPoint Android-SDK설치.HelloAndroid(1.0h).pptx

PowerPoint 프레젠테이션

슬라이드 1

Microsoft Word - ntasFrameBuilderInstallGuide2.5.doc

9 차시고급위젯다루기 1 학습목표 날짜 / 시간과관련된위젯을배운다. 웹뷰를사용하여간단한웹브라우저기능을구현한다. 매니패스트파일의설정법을배운다. 2 확인해볼까? 3 날짜 / 시간위젯 1) 활동하기 활동개요

Network Security - Wired Sniffing 실습 ICNS Lab. Kyung Hee University

슬라이드 1

Microsoft PowerPoint - Regular Expresssions.ppt

Microsoft PowerPoint - kimswld ppt

슬라이드 제목 없음

Microsoft Word - ijungbo1_13_02

Install stm32cubemx and st-link utility

Javascript

PowerPoint 프레젠테이션

Secure Programming Lecture1 : Introduction

게임 기획서 표준양식 연구보고서

Microsoft Outlook G Suite 가이드

Microsoft PowerPoint - e-biz-05.ppt

PowerPoint 프레젠테이션

Endpoint Protector - Active Directory Deployment Guide

PowerPoint 프레젠테이션

var answer = confirm(" 확인이나취소를누르세요."); // 확인창은사용자의의사를묻는데사용합니다. if(answer == true){ document.write(" 확인을눌렀습니다."); else { document.write(" 취소를눌렀습니다.");

XSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks

PowerPoint 프레젠테이션

The Pocket Guide to TCP/IP Sockets: C Version

1. 자바프로그램기초 및개발환경 2 장 & 3 장. 자바개발도구 충남대학교 컴퓨터공학과

PowerPoint Presentation

Microsoft PowerPoint - 3장-MS SQL Server.ppt [호환 모드]

. PC PC 3 [ ] [ ], [ ] [ ] [ ] 3 [ ] [ ], 4 [ ] [ ], 4 [Internet Protocol Version 4 (TCP/IPv4)] 5 [ ] 6 [ IP (O)], [ DNS (B)] 7 [ ] 한국어 -

PowerPoint Presentation


프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

HTML5

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

윈도우시스템프로그래밍

목차 Cloud CDN 콘솔... 3 배포관리 다운로드 또는 VOD 다운로드 배포생성 콘텐츠저장소 (Origin) 설정 서비스도메인 (CNAME) 설정 서비스설명... 8

윈도우즈프로그래밍(1)

목차 윈도우드라이버 1. 매뉴얼안내 운영체제 (OS) 환경 윈도우드라이버준비 윈도우드라이버설치 Windows XP/Server 2003 에서설치 Serial 또는 Parallel 포트의경우.

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

쉽게 풀어쓴 C 프로그래밍

BEA_WebLogic.hwp

SIGIL 완벽입문

PowerPoint 프레젠테이션

1

안드로이드기본 11 차시어댑터뷰 1 학습목표 어댑터뷰가무엇인지알수있다. 리스트뷰와스피너를사용하여데이터를출력할수있다. 2 확인해볼까? 3 어댑터뷰 1) 학습하기 어댑터뷰 - 1 -

로거 자료실

자연언어처리

2009년 상반기 사업계획

Microsoft PowerPoint SDK설치.HelloAndroid(1.5h).pptx

OM2M 기반의 OHP-M2M 오픈소스설치가이드 2015 년 8 월 경북대학교통신프로토콜연구실 최예찬, 강형우 요약 사물인터넷 (Internet of Things: IoT) 이이슈가되면서다양한사

Microsoft PowerPoint - 11주차_Android_GoogleMap.ppt [호환 모드]

View Licenses and Services (customer)

HLS(HTTP Live Streaming) 이용가이드 1. HLS 소개 Apple iphone, ipad, ipod의운영체제인 ios에서사용하는표준 HTTP 기반스트리밍프로토콜입니다. 2. HLS 지원대상 - 디바이스 : iphone/ipad/ipod - 운영체제 :

미쓰리 파워포인트

마지막 변경일 2018년 5월 7일 ** 이항분포와 정규분포의 관계 ** Geogebra와 수학의 시각화 책의 3.2소절 내용임. 가장 최근 파일은 링크를 누르면 받아 보실 수 있습니다.

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2000) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2000 Exchange Server 2003 GFI MailEssentials 14 for

SQL Developer Connect to TimesTen 유니원아이앤씨 DB 기술지원팀 2010 년 07 월 28 일 문서정보 프로젝트명 SQL Developer Connect to TimesTen 서브시스템명 버전 1.0 문서명 작성일 작성자

0. 들어가기 전

네트워크 명령 실습

PowerPoint 프레젠테이션

1. 서론

1. Windows 설치 (Client 설치 ) 원하는위치에다운받은발송클라이언트압축파일을해제합니다. Step 2. /conf/config.xml 파일수정 conf 폴더에서 config.xml 파일을텍스트에디터를이용하여 Open 합니다. config.xml 파일에서, 아

메일서버등록제(SPF) 인증기능적용안내서 (Exchange Windows 2003) OS Mail Server SPF 적용모듈 작성기준 Windows Server 2003 Exchange Server 2003 GFI MailEssentials 2010 fo

제이쿼리 (JQuery) 정의 자바스크립트함수를쉽게사용하기위해만든자바스크립트라이브러리. 웹페이지를즉석에서변경하는기능에특화된자바스크립트라이브러리. 사용법 $( 제이쿼리객체 ) 혹은 $( 엘리먼트 ) 참고 ) $() 이기호를제이쿼리래퍼라고한다. 즉, 제이쿼리를호출하는기호

PowerPoint 프레젠테이션

U.Tu System Application DW Service AGENDA 1. 개요 4. 솔루션 모음 1.1. 제안의 배경 및 목적 4.1. 고객정의 DW구축에 필요한 메타정보 생성 1.2. 제품 개요 4.2. 사전 변경 관리 1.3. 제품 특장점 4.3. 부품화형

SBR-100S User Manual

문서의 제목 나눔고딕B, 54pt

MVVM 패턴의 이해

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

슬라이드 1

untitled

PWR PWR HDD HDD USB USB Quick Network Setup Guide xdsl/cable Modem PC DVR 1~3 1.. DVR DVR IP xdsl Cable xdsl Cable PC PC DDNS (

<4D F736F F F696E74202D20C1A63236C0E520BED6C7C3B8B428B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

뇌를 자극하는 JSP & Servlet 슬라이드

쉽게 풀어쓴 C 프로그래밍

문서 템플릿

<4D F736F F F696E74202D20B5A5C0CCC5CDBAA3C0CCBDBA5F3130C1D6C2F75F32C2F7BDC32E >

LATEX과 Mendeley를 활용한 문헌 관리 2017년 2월 6일 제1절 서지 관리 프로그램 연구 주제를 찾거나 선행 연구를 조사하는 가장 대표적인 방법이 문헌들을 찾아보는 것이다. 수없이 많은 논문들을 찾게 되고, 이런 논문들을 다운로드한 후 체계적으로 관리할 필

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

PowerPoint 프레젠테이션

Microsoft PowerPoint - web-part03-ch20-XMLHttpRequest기본.pptx

Transcription:

14. 웹스크래핑

1. 웹의이해 2. HTML 데이터다루기 3. 정규표현식 4. Lab: 웹스크래핑실습

01 웹의이해

01. 웹의이해 웹의개념 월드와이드웹 (World Wide Web) 은인터넷에연결된컴퓨터를이용하여사람들과정보를공유할수있도록거미줄처럼엮인공간이다. 월드와이드웹을줄여웹 (web) 이라고한다.

01. 웹의이해 웹컴포넌트 : HTML 과 HTTP : HTML HTML(Hyper Text Markup Language) 은웹상의정보를구조적으로표현하기위한언어이다. [HTML 의예 ]

01. 웹의이해 웹컴포넌트 : HTML 과 HTTP : HTML 태그 (tag) 는꺾쇠괄호 < > 로둘러싸여있고, 그안에정보에대한의미를적는다. 그리고 그의미가끝나는부분에슬래시 (/ ) 를사용하여해당태그를종료한다.

01. 웹의이해 웹컴포넌트 : HTML 과 HTTP : HTTP HTTP(Hypertext Transaction Protocol) 는인터넷에서컴퓨터간에정보를주고받을때사용하는일종의약속을말하며, 일반적으로컴퓨터과학에서는이러한약속을프로토콜 (protocol) 이라고한다.

01. 웹의이해 웹의동작순서 웹에있는정보를보기위해먼저하는일은웹브라우저를시작하고, 거기에주소정보를입 력하는것이다. 주소정보의공식이름은 URL(Uniform Resource Locator) 이라고한다. [URL 의구조 ] URL에는해당서버가위치한인터넷주소정보인도메인네임 (domain name) 이있다. 흔히도메인정보또는서버주소라고도하는이주소를통해웹의정보를제공하는서버에접속한다. 일반적으로컴퓨터는인터넷프로토콜주소 (Internet Protocol address), 즉 IP 주소 (IP address) 라고부르는주소값을가진다. IP 주소를컴퓨터의주소로생각하면이주소에접속하기위해사용하는도메인네임과연결하기위한도메인네임서버 (Domain Name Server, DNS) 가운영된다.

01. 웹의이해 웹의동작순서 [ 웹의동작순서 ]

01. 웹의이해 웹스크래핑 모든웹은 HTML 로구성되어있으므로, HTML 의규칙을파악한다면얼마든지 HTML 에서필요 한정보를가져올수있다. 이러한과정을일반적으로웹스크래핑 (web scrapping) 이라고한다.

01. 웹의이해 엑셀에서웹의정보가져오기 꼭파이썬을사용하지않더라도엑셀에서간단하게웹의정보를가져올수있다. 먼저엑셀을실행하 여 [ 데이터 ] - [ 웹 ] 메뉴를선택한다. 대화상자가열리면추출하고싶은데이터가있는웹주소를입력 한다. 추출하고자하는테이블을선택하면데이터가출력되어엑셀에기록되는것을확인할수있다. [ 엑셀을사용한웹데이터추출방법 ]

02 HTML 데이터다루기

02. HTML 데이터다루기 웹에서데이터다운로드하기

02. HTML 데이터다루기 HTML 파싱 웹페이지의 HTML 을분석하여필요한 URL 을추출하는작업이 HTML 파싱이다. 파싱 (parsing) 은특정텍스트를분석하여그데이터로부터필요한정보를추출하는과정이다. [URL 정보의표현방법 ]

02. HTML 데이터다루기 HTML 파싱 다음으로웹페이지에서필요한정보만추출하는방법은무엇일까? 아래의테이블에서필 요한주식정보를어떻게가져올수있을까? [ 주식정보테이블 ] 가장좋은방법은테이블을구성하는 HTML 페이지를찾아그정보를가져오는것이다. 먼저해당웹페이지를열고마우스오른쪽버튼을누른후, 페이지소스보기 를클릭한다. 웹페이지의정보가있는 HTML 코드를확인할수있다. 이코드를분석하여원하는정보만따로추출할수있는데, 이를위해해당정보를표현하는코드의패턴을찾아 HTML 생성규칙을파악하고, 이를추출하는프로그램을만들어야한다.

02. HTML 데이터다루기 HTML 파싱 테이블정보가크게는 <dl>~</dl> 클래스사이의코드안에있고, 각각의개별정보는 <dd>~</dd> 태그사이에있는것을알수있다. 이두가지정보만안다면, 이패턴으로부터원하는주식데이터를쉽게추출할수있다. [ 주식정보 HTML 구조 ]

03 정규표현식

03. 정규표현식 정규표현식의개념 정규표현식 (regular expression) 은일종의문자를표현하는공식으로, 특정규칙이있는문 자열집합을추출할때자주사용하는기법이다 [ 일반문자와정규표현식의연결 ]

03. 정규표현식 정규표현식스스로연습하기 정규표현식은문법자체가매우방대하므로이책에서전부다룰수는없다. 학습자가스스로찾아공부하는것이매우중요하며, 필요한것이있을때마다인터넷을검색하며확인하는노력이필요하다. 정규표현식을연습하기위한다양한방법이있는데, 가장좋은방법중하나는웹에서제공하는정규표현식연습장을사용하는것이다. 정규표현식연습장웹사이트 (http://www.regexr.com) 에접속하면아래쪽에는텍스트가, 위쪽에는정규표현식을넣을수있는구조로설계되어있다. 여기에파싱할텍스트와정규표현식을넣고실험해보도록한다.

03. 정규표현식 정규표현식문법 정규표현식을배우기위해기본으로알아야하는개념은메타문자 (meta-characters) 이다. 메타문자는문자를설명하기위한문자로, 문자의구성을설명하기위해원래의의미가아니라다른의미로쓰이는문자를뜻한다.

03. 정규표현식 정규표현식문법 : 기본메타문자 [] 먼저대괄호 [ ] 는 [ 와 ] 사이의문자와매칭하라는뜻으로사용된다. 예를들어, [abc] 는어떤텍스트에 a 또는 b 또는 c라는텍스트가있는지찾으라는뜻이다. [ ] 에는 or의의미가있다. 예를들어, 비틀스의노래가사중 yesterday 또는 Yesterday 라는단어를한번에찾으려면 [Yy]esterday라고입력하면한번에정규표현식으로검색할수있다. 만약 [abc] 라는정규표현식을쓴다면다음과같은텍스트에서검색되는텍스트는어떤것이있을까? 여기서는 a 의 a, before 의 b와같은방식으로검색될것이다. 알파벳전체나한글전체텍스트를찾고싶다면어떻게하면될까? 바로 - 을사용한다. [A-Zaz] 나 [ 가 - 힝 ] 과같은기호로문자열에서알파벳과한글을추출할수있다. 숫자전체를추출한 다면 [0-9] 로쓸수있다.

03. 정규표현식 정규표현식문법 : 반복관련메타문자 -, +, *,?, { } 앞에서배운 [ ] 는매우유용하지만, 한번에여러개의글자를표현할수없다. 예를들어, 휴대전화번호를찾고싶다면다음과같이정규표현식을작성해야한다. 하지만이렇게하면몇가지문제점이있다. 먼저텍스트를너무많이적는다. 이럴때쓸수 있는메타문자가 + 이다. + 는해당글자가 1 개이상출현하는것을뜻한다.

03. 정규표현식 정규표현식문법 : 반복관련메타문자 -, +, *,?, { } 출현횟수를조정해야할때사용하는메타문자는중괄호 {} 이다. 예를들어, [a-za-z]{3,4} 이면알파벳이 3자부터 4자까지출현할수있다는뜻이다. 반복횟수는 {1,}, {0,}, {1,3} 처럼시작값이나끝값은지정하지않고오픈할수있다. 만약 {1,} 라고쓴다면한번이상출현해야한다는제약이있다. * 는 + 와달리해당글자가 0 번부터무한대까지반복할수있다. { } 를사용하여표현한다면 + 는 {1,} 이고 * 는 {0,} 을뜻한다. 예를들어, tomor*ow 라고표현하면이정규표현식에해당 하는글자는무엇일까?

03. 정규표현식 정규표현식문법 : 그외메타문자 (),.,, ^, $, \ 메타문자 ( ) 는묶음을표시하는것으로, 좀더쉽게메타문자의묶음을표시하는역할을한다. [.] 와 (.) 의뜻이다른데, [.] 는일반적인마침표를뜻하고 (.) 는줄바꿈기호를제외한전체문자를뜻한다. 만약다음과같은자막데이터에서시간정보를없애고싶다면어떻게해야할까? 메타문자 나 ^ 은 or 와 not 의의미로많이사용한다. 정규표현식의처음과끝에는메타문자 ^ 과 $ 를주로붙인다.

03. 정규표현식 정규표현식연습 정규표현식을연습해보자. 먼저구글에서제공하는미국특허정보데이터세트홈페이지 에접속한다.

03. 정규표현식 정규표현식연습

03. 정규표현식 정규표현식연습 href 태그가보일것이다. 이태그는링크 (link) 태그로, 해당주소를웹브라우저에넣으면파일을다운로드할수있다. 이제 zip 파일을다운로드하기위해정규표현식을이용해글자들을추출할것이다. 정규표현식연습장 (http://www.regexr.com) 을열어모든 html 소스를연습장에붙여넣는다. 다음으로상단에정규표현식을기재한다. 정규표현식을생각해보면시작은 http 끝은 zip 으로끝나는것을알수있다. 중간에는매우다양한글자가나온다. 따라서이문서에서는 (http)(.+)(zip) 이라고입력하면, 해당링크들의정규표현식을찾을수있다.

03. 정규표현식 정규표현식연습 [ 정규표현식연습장에서정규표현식찾기 ]

04 Lab: 웹스크래핑실습

04. Lab: 웹스크래핑실습 아이디추출하기 먼저특정아이디를추출하는 Lab 이다. 다음웹사이트에는이벤트당첨자의아이디를발표 한웹페이지가있는데, 이웹페이지에서필요한아이디만추출해보겠다. [ 이벤트당첨자정보 ]

04. Lab: 웹스크래핑실습 아이디추출하기

04. Lab: 웹스크래핑실습 아이디추출하기 위코드를보면먼저 4행에서접속할웹페이지의링크를작성하고 5행에서웹페이지에접속한후, 6행에서해당웹페이지의 HTML 코드를문자열로가져온다. 다음으로해당 HTML 코드를 7행에서 findall( ) 함수를사용하여정규표현식패턴을넣어주면패턴대로데이터를찾아서 id_results 변수에넣어준다. 해당변수는튜플형태로반환되기때문에각각을출력하기위해서는 10행과같이 for문을사용한다.

04. Lab: 웹스크래핑실습 HTML 파싱 주식데이터에서해당부분을파싱하는코드를작성하겠다. [HTML 파싱을위한데이터 ]

04. Lab: 웹스크래핑실습 HTML 파싱 코드는크게두가지부분으로구성된다. ~ 에정보가있음 ~ 정보를추출

04. Lab: 웹스크래핑실습 HTML 파싱

04. Lab: 웹스크래핑실습 HTML 파싱 코드는이전과동일하게 URL에접속하여 HTML 코드를추출한다. 다음으로 9~11행에서정규표현식을사용하여첫번째 HTML을추출한다. 해당패턴을가진 HTML 코드는총 2개가있기때문에그중첫번째튜플값을 10행에서선택한다. 앞서마찬가지로 ( ) 를사용해정규표현식을작성했기때문에, 각정규표현식이튜플로묶이게되고그중두번째값에주식정보가포함되어있다. 그러므로 11행에서 samsung_stock[1] 을사용해해당코드를가져온다. 마지막으로 dd 태그사이에있는값을추출하기위해해당정규표현식을작성하고, 17행에서최종주식정보를추출한다.