logo
logo
x
바코드검색
BOOKPRICE.co.kr
책, 도서 가격비교 사이트
바코드검색

인기 검색어

실시간 검색어

검색가능 서점

도서목록 제공

크롤링 핵심 가이드

크롤링 핵심 가이드

(웹 사이트 크롤링을 위한 실전 테크닉)

타케조에 나오키, 시마모토 타카코, 타도코로 슌스케, 하기노 타카히로, 카와카미 모모코 (지은이), 윤인성 (옮긴이)
위키북스
22,000원

일반도서

검색중
서점 할인가 할인률 배송비 혜택/추가 실질최저가 구매하기
19,800원 -10% 0원
1,100원
18,700원 >
yes24 로딩중
교보문고 로딩중
11st 로딩중
영풍문고 로딩중
쿠팡 로딩중
쿠팡로켓 로딩중
G마켓 로딩중
notice_icon 검색 결과 내에 다른 책이 포함되어 있을 수 있습니다.

중고도서

검색중
서점 유형 등록개수 최저가 구매하기
로딩중

eBook

검색중
서점 정가 할인가 마일리지 실질최저가 구매하기
로딩중

책 이미지

크롤링 핵심 가이드
eBook 미리보기

책 정보

· 제목 : 크롤링 핵심 가이드 (웹 사이트 크롤링을 위한 실전 테크닉)
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 개발/방법론 > 웹 서비스/웹 프로그래밍
· ISBN : 9791158391072
· 쪽수 : 294쪽
· 출판일 : 2018-07-17

책 소개

실제 서비스에서 대규모 웹 크롤러를 개발/운용해 본 경험을 기반으로, 크롤러를 지탱하는 HTTP, 문자 코드, HTML, 인증, Ajax/JSON 등 웹 엔지니어가 꼭 기억해야 하는 포인트와 테크닉을 설명한다.

목차

▣ 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 정리

저자소개

타케조에 나오키 (지은이)    정보 더보기
주식회사 비즈 리치 소속의 Scala를 사랑하는 프로그래머이다. 업무와 함께 OSS 활동, 서적 집필 등을 하고 있다. GitBucket, Apache PredictionIO, Scalatra 등의 커미터도 맡고 있다.
펼치기
카와카미 모모코 (지은이)    정보 더보기
주식회사 비즈 리치 소속의 스탠바이 사업부에서 업무 위탁 받아 근무하고 있다. 구인 검색 엔진 "스탠바이"의 크롤링 개발, 유지 보수를 담당하고 있다. 매일 다양한 구인 사이트를 크롤링하기 위해 분투하고 있다.
펼치기
시마모토 타카코 (지은이)    정보 더보기
주식회사 비즈 리치에 근무 중이다. 최근 몇 년 동안 "Scala", "오픈소스"를 키워드로 웹 애플리케이션 개발을 했지만, 최근에는 Apache Spark Streaming과 AWS Kinesis와 관련된 일을 하고 있다. 오픈소스 GitHub 클론인 "GitBucket" 개발에도 참여했다.
펼치기
타도코로 슌스케 (지은이)    정보 더보기
주식회사 비즈 리치 소속의 Scala 엔지니어이다. 구인 검색 엔진 "스탠바이"를 만들면서, 문자 깨짐과 관련된 많은 일을 접한 뒤, 그림 문자에 매력을 느끼게 되었다. Scala 그림 문자 라이브러리 개발, 그림 문자와 관련된 국제적인 컨퍼런스에 참가하는 등 아마추어 그림 문자 연구가로서 웹 엔지니어의 길을 순조롭게 걷고 있다.
펼치기
하기노 타카히로 (지은이)    정보 더보기
주식회사 비즈 리치 소속의 AI 연구실 소속이다. 구인 검색 엔진 "스탠바이"의 크롤러 운용, 검색 품질 최적화, 데이터 마이닝 등을 담당한 후, 현재는 머신러닝 시스템 기반 구축과 관련된 일을 하고 있다. 오픈 소스 머신러닝 서버 Apache PredictionIO의 커미터이며, Apache Prediction IO가 널리 사용될 수 있게 홍보하고 있다.
펼치기
윤인성 (지은이)    정보 더보기
출근하기가 싫어서 책을 집필하기 시작했다. 현재 직업 특성상 집에서 나갈 이유가 별로 없다는 것에 굉장히 만족하고 있다. 홍차와 커피를 좋아하며, 기타와 가야금 연주, 그림 그리기, 스컬핑 등이 취미다. 저서로는 《쉽게 배우는 C# 프로그래밍(3판)》, 《HTML5 웹 프로그래밍 입문(4판)》, 《혼자 공부하는 파이썬(개정판)》, 《자바스크립트 프로그래밍 입문(2판)》, 《C# 프로그래밍(3판)》 등이 있으며, 역서로는 《블렌더 VFX》, 《만들면서 배우는 블렌더 3D 입문》, 《문제 해결을 위한 알고리즘 with 수학 알고리즘》, 《내 코드가 그렇게 이상한가요?》, 《이펙티브 코틀린》 등이 있다. 이번 책은 78번째 책이다.
펼치기
이 포스팅은 쿠팡 파트너스 활동의 일환으로,
이에 따른 일정액의 수수료를 제공받습니다.
이 포스팅은 제휴마케팅이 포함된 광고로 커미션을 지급 받습니다.
도서 DB 제공 : 알라딘 서점(www.aladin.co.kr)
최근 본 책