HOME > 상세정보

상세정보

크롤링 핵심 가이드 : 웹 사이트 크롤링을 위한 실전 테크닉

자료유형
단행본
서명 / 저자사항
크롤링 핵심 가이드 : 웹 사이트 크롤링을 위한 실전 테크닉 / 타케조에 나오키 [외]지음 ; 윤인성 옮김
발행사항
파주 : 위키북스, 2018
형태사항
xiv, 278 p. : 삽화 ; 24 cm
총서사항
데이터 사이언스 시리즈 = DS ; 017
원표제
クロ-リングハック : あらゆるWebサイトをクロ-ルするための実践テクニック
ISBN
9791158391072
일반주기
색인수록 공저자: 시마모토 타카코, 타도코로 슌스케, 하기노 타카히로, 카와카미 모모코
000 00000cam c2200205 c 4500
001 000045956235
005 20181010130822
007 ta
008 181004s2018 ggka 001c kor
020 ▼a 9791158391072 ▼g 93000
035 ▼a (KERIS)BIB000014883839
040 ▼a 247009 ▼c 247009 ▼d 211009
041 1 ▼a kor ▼h jpn
082 0 4 ▼a 006.312 ▼2 23
085 ▼a 006.312 ▼2 DDCK
090 ▼a 006.312 ▼b 2018z8
245 0 0 ▼a 크롤링 핵심 가이드 : ▼b 웹 사이트 크롤링을 위한 실전 테크닉 / ▼d 타케조에 나오키 [외]지음 ; ▼e 윤인성 옮김
246 1 9 ▼a クロ-リングハック : ▼b あらゆるWebサイトをクロ-ルするための実践テクニック
246 3 ▼a Kurōringu hakku : ▼b arayuru uebu saito o kurōru suru tame no jissen tekunikku
260 ▼a 파주 : ▼b 위키북스, ▼c 2018
300 ▼a xiv, 278 p. : ▼b 삽화 ; ▼c 24 cm
440 0 0 ▼a 데이터 사이언스 시리즈 = ▼x DS ; ▼v 017
500 ▼a 색인수록
500 ▼a 공저자: 시마모토 타카코, 타도코로 슌스케, 하기노 타카히로, 카와카미 모모코
700 1 ▼a 竹添直樹, ▼e▼0 AUTH(211009)73562
700 1 ▼a 島本多可子, ▼e▼0 AUTH(211009)100060
700 1 ▼a 田所駿佑, ▼e▼0 AUTH(211009)44622
700 1 ▼a 萩野貴拓, ▼e▼0 AUTH(211009)113251
700 1 ▼a 川上桃子, ▼e
700 1 ▼a 윤인성, ▼e▼0 AUTH(211009)109006
900 1 0 ▼a 타케조에 나오키, ▼e
900 1 0 ▼a 시마모토 타카코, ▼e
900 1 0 ▼a 타도코로 슌스케, ▼e
900 1 0 ▼a 하기노 타카히로, ▼e
900 1 0 ▼a 카와카미 모모코, ▼e
900 1 0 ▼a Takezoe, Naoki, ▼e
900 1 0 ▼a Shimamoto, Takako, ▼e
900 1 0 ▼a Tadokoro, Shunsuke, ▼e
900 1 0 ▼a Hagino, Takahiro, ▼e
900 1 0 ▼a Kawakami, Momoko, ▼e
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 중앙도서관/제2자료실(3층)/ 청구기호 006.312 2018z8 등록번호 111797748 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

실제 서비스에서 대규모 웹 크롤러를 개발/운용해 본 경험을 기반으로, 크롤러를 지탱하는 HTTP, 문자 코드, HTML, 인증, Ajax/JSON 등 웹 엔지니어가 꼭 기억해야 하는 포인트와 테크닉을 설명한다. 또한 크롤러의 입장에서 보는 웹 사이트의 구조와 그 실정에 맞는, 실용적이고 효율적인 크롤링 방법을 설명한다.

웹 애플리케이션, 웹 서비스를 개발/운용하는 엔지니어라면, HTML/HTTP와 웹 서버 등의 웹 기술과 관련된 기초 지식을 알고 있어야 한다. 이 책에서는 실제 서비스에서 대규모 웹 크롤러를 개발/운용해 본 경험을 기반으로, 크롤러를 지탱하는 HTTP, 문자 코드, HTML, 인증, Ajax/JSON 등 웹 엔지니어가 꼭 기억해야 하는 포인트와 테크닉을 설명한다. 크롤러의 입장에서 보는 웹 사이트의 구조와 그 실정에 맞는, 실용적이고 효율적인 크롤링 방법을 설명한다.

◎ 실제 예를 바탕으로 HTTP, HTML 등의 웹과 관련된 내용을 깊게 알 수 있다.
◎ 대규모 크롤러를 개발/운용하는 노하우를 알 수 있다.
◎ 웹 사이트 운영자(크롤링 당하는 입장)도 크롤러와 관련된 지식을 얻을 수 있다.


정보제공 : Aladin

저자소개

타케조에 나오키(지은이)

주식회사 비즈 리치 소속의 Scala를 사랑하는 프로그래머이다. 업무와 함께 OSS 활동, 서적 집필 등을 하고 있다. GitBucket, Apache PredictionIO, Scalatra 등의 커미터도 맡고 있다.

카와카미 모모코(지은이)

주식회사 비즈 리치 소속의 스탠바이 사업부에서 업무 위탁 받아 근무하고 있다. 구인 검색 엔진 "스탠바이"의 크롤링 개발, 유지 보수를 담당하고 있다. 매일 다양한 구인 사이트를 크롤링하기 위해 분투하고 있다.

시마모토 타카코(지은이)

주식회사 비즈 리치에 근무 중이다. 최근 몇 년 동안 "Scala", "오픈소스"를 키워드로 웹 애플리케이션 개발을 했지만, 최근에는 Apache Spark Streaming과 AWS Kinesis와 관련된 일을 하고 있다. 오픈소스 GitHub 클론인 "GitBucket" 개발에도 참여했다.

타도코로 슌스케(지은이)

주식회사 비즈 리치 소속의 Scala 엔지니어이다. 구인 검색 엔진 "스탠바이"를 만들면서, 문자 깨짐과 관련된 많은 일을 접한 뒤, 그림 문자에 매력을 느끼게 되었다. Scala 그림 문자 라이브러리 개발, 그림 문자와 관련된 국제적인 컨퍼런스에 참가하는 등 아마추어 그림 문자 연구가로서 웹 엔지니어의 길을 순조롭게 걷고 있다.

하기노 타카히로(지은이)

주식회사 비즈 리치 소속의 AI 연구실 소속이다. 구인 검색 엔진 "스탠바이"의 크롤러 운용, 검색 품질 최적화, 데이터 마이닝 등을 담당한 후, 현재는 머신러닝 시스템 기반 구축과 관련된 일을 하고 있다. 오픈 소스 머신러닝 서버 Apache PredictionIO의 커미터이며, Apache Prediction IO가 널리 사용될 수 있게 홍보하고 있다.

윤인성(옮긴이)

출근하는 게 싫어서 책을 집필하기 시작했다. 현재 직업 특성상 집에서 나갈 이유가 별로 없다는 것에 굉장히 만족하는 성격이기도 하다. 홍차와 커피를 좋아하며 기타, 가야금, 그림 그리기, 스컬핑 등이 취미이다. 저서로는 『혼자 공부하는 파이썬』, 『IT CookBook, HTML5 웹 프로그래밍』, 『모던 웹을 위한 JavaScript+jQuery 입문』, 『모던 웹을 위한 Node.js 프로그래밍』, 『모던 웹 디자인을 위한 HTML5+CSS3 입문』 등이 있으며, 역서로는 『TopCoder 알고리즘 트레이닝』, 『자바 퍼즐러』, 『소셜 코딩으로 이끄는 GitHub 실천 기술』, 『Nature of Code』 등이 있다.

정보제공 : Aladin

목차

▣ 1장: 크롤러를 지탱하는 기술 
1-1 크롤러란? 
1-2 크롤러의 구조 
___크롤링 
___스크레이핑 
1-3 크롤러와 웹 기술 
___데이터 저장하기 
___웹 크롤러가 지켜야 하는 규칙 
___크롤러가 직면한 과제 
1-4 크롤러 만들어보기 
___Java로 간단한 크롤러 구현하기 
___크롤링/스크레이핑 전용 서비스와 도구 
1-5 개발을 지원하는 도구 
___curl 
___브라우저의 개발자 도구 

▣ 2장: HTTP 이해하기 
2-1 HTTP 개요 
___HTTP 통신 내용 보기 
2-2 HTTP 메서드 사용 구분하기 
___일부 메서드가 지원되지 않는 경우 
___메서드의 사용 방법이 적절하지 않은 경우 
___URL 인코드 방식의 차이에 따른 문제 
2-3 믿을 수 없는 응답 상태 
___상태 코드에 따라 적절히 처리하기 
___오류가 발생했는데도 200을 응답하는 경우 
___페이지가 존재하지 않는 경우의 리다이렉트 
___서버에 접속할 수 없는 경우 
___서버 오류가 발생했을 경우의 일반적인 대처 방법 
___리다이렉트의 미묘한 의미 차이 
2-4 HTTP 헤더 조정하기 
___크롤러의 사용자 에이전트 
___쿠키가 없으면 크롤링할 수 없는 웹 사이트 
___국제화를 지원하는 웹 사이트 크롤링하기 
2-5 프록시 서버를 경유해서 크롤링하기 
___프록시 사용 시 HTTP 통신 내용 확인하기 
___크롤러에서 프록시 사용하기 
2-6 SSL 통신 때 발생하는 오류 
___SSL 버전 
___SSL 지원 사이트 크롤링하기 
___자바의 AES 키 길이 문제 
2-7 HTTP/2 
___자바로 HTTP/2 다루기 
2-8 정리 

▣ 3장: 문자 깨짐 해결하기 
3-1 크롤링과 문자 코드 
3-2 왜 문자가 깨질까? 
___컴퓨터와 문자 
___문자 깨짐과 멀티 바이트 문자 
3-3 클라이언트와 서버 간의 문자 깨짐 
___문자 깨짐이 일어나는 위치 
___애플리케이션과 데이터베이스 
___텍스트 파일 읽고 쓰기 
3-4 적절하게 문자 코드 다루기 
___크롤링과 문자 코드 
___인덱싱과 문자 코드 
3-5 대표적인 문자 코드 
___UTF-8 
___EUC-KR 
3-6 문자 코드와 관련해 발생할 수 있는 함정 
___문자 코드 믿지 말기 
___데이터베이스와 초밥① - 사라진 초밥 문제 
___데이터베이스와 초밥② - 그림 문자 검색 문제 
___트러블 슈팅을 위한 팁 
3-7 문자 코드 추정하기 
___juniversalchardet 
___ICU4J 
___자바 외 언어의 라이브러리 
3-8 정리 

▣ 4장: 스크레이핑 테크닉 
4-1 HTML에서 데이터 추출하기 
___정규 표현식 
___XPath 
___CSS 선택자 
___HTML 이외의 데이터 
4-2 CSS 선택자 사용하기 
___지정한 위치의 요소 추출하기 - nth-child() 
___텍스트 노드를 문자열로 검색하기 - contains() 
___텍스트 노드를 정규 표현식으로 검색하기 - matched() 
___자식 요소를 제외하고 검색하기 - containsOwn()과 matchesOwn() 
___속성으로 검색하기 
4-3 스크레이핑한 데이터 가공하기 
___[예1] alt 속성에서 데이터 추출하기 
___[예2] 주소 추출하기 
___웹 페이지의 메타 데이터 
4-4 메타 데이터 활용하기 
___구조화 마크업 
4-5 정리 

▣ 5장: 인증하기 
5-1 인증이 필요한 페이지를 크롤링하는 이유 
___인증이 필요한 웹 사이트를 크롤링할 때 지켜야 할 사항 
5-2 다양한 인증 방식과 크롤링 방법 
___HTTP 인증 
___입력 양식 기반 인증 
___2단계 인증 
___CAPTCHA를 사용한 BOT 대책 
5-3 웹 API를 사용해 정보 추출하기 
___접근키로 인증하기 
___OAuth 2.0 
___인증과 허가 
___pac4j를 사용해 GitHub OAuth 사용해 보기 
5-4 정리 

▣ 6장: 크롤링 응용 테크닉 
6-1 크롤러가 지켜야 하는 매너 
___요청 수와 요청 간격 제한 
___크롤링 제한하기 
6-2 필요한 페이지만 크롤링하기 
___페이징 
___의외로 잘 사용하지 않는 사이트맵 XML 
___RSS 또는 Atom을 기반으로 사이트의 변경 정보 추출하기 
___콘텐츠를 캐시해서 통신 줄이기 
___gzip 압축으로 응답 빠르게 만들기 
6-3 제거된 콘텐츠 판정하기 
___콘텐츠에 명시적으로 적혀 있는 기간 사용하기 
___대상 사이트를 정기적으로 크롤링하기 
___인덱스한 URL을 정기적으로 확인하기 
___목록 페이지에 URL이 존재하지 않는 경우 삭제된 것으로 판정하기 
___남은 문제 
6-4 웹 사이트의 변경 시점 및 변경 빈도 학습하기 
___명시된 변경일 찾기 
___오류 
___변경 빈도에 따라 크롤링 빈도 조정하기 
___크롤링 소요 시간을 기반으로 크롤러의 리소스 사용량 조절하기 
6-5 가장 효율적인 방법 = 크롤링하지 않기 
6-6 정리 

▣ 7장: 자바스크립트 가지고 놀기 
7-1 Ajax와 SPA 
___자바스크립트를 사용한 웹 페이지의 예 
___크롤러의 관점에서 살펴본 자바스크립트 
7-2 자바스크립트와의 싸움 피하기 
___자바스크립트의 동작 재현하기 
___크롤러를 위한 정보 찾기 
___모바일 사이트 
7-3 브라우저 조작과 도구 활용하기 
___Selenium WebDriver 사용해 보기 
7-4 정리

관련분야 신착자료

Liu, Zhiyuan, (Computer science and technology) (2020)