도서정보 상세보기[NAVER 제공]
1장. 웹 스크래핑 소개
__웹 스크래핑은 언제 필요한가?
__웹 스크래핑은 합법적인가?
__사전 조사
____robots.txt 확인
____Sitemap 살펴보기
____웹사이트의 크기 추정
____웹사이트에 사용된 웹 기술 확인
____웹사이트 소유자 찾기
__첫 번째 웹사이트 크롤링
____웹사이트 다운로드
______다운로드 재시도
______사용자 에이전트 설정
____Sitemap 크롤러
____ID 반복 크롤러
____링크 크롤러
______고급 기능
__요약
2장. 데이터 스크래핑
__웹 페이지 분석
__웹 페이지를 스크랩하는 3가지 방법
____정규식
____Beautiful Soup
____Lxml
______CSS 선택자
____성능 비교
______스크래핑 결과
____개요
____링크 크롤러에 스크랩 콜백 추가
__요약
3장. 캐시를 사용한 다운로드
__링크 크롤러에 캐시 기능 추가
__디스크 캐시 사용
____기능 구현
____캐시 테스트
____저장 디스크량 줄이기
____오래된 데이터 삭제
____디스크 캐시의 단점
__데이터베이스 캐시
____NoSQL이란?
____몽고DB 설치
____몽고DB 개요
____몽고DB 캐시 구현
____압축
____캐시 테스트
__요약
4장. 병렬 다운로드
__100만 개 웹 페이지
____Alexa 목록 분석
__순차적 크롤러
__스레드 크롤러
____스레드와 프로세스 동작 방식
____구현
____상호프로세스 크롤러
__성능
__요약
5장. 동적 생성 콘텐츠
__동적 웹 페이지 예제
__동적 웹 페이지 분석
____에지 케이스
__동적 웹 페이지 렌더링
____PyQt와 PySide
____자바스크립트 실행
____웹킷으로 웹사이트 처리
______결과 기다리기
______렌더 클래스
____셀레니움
__요약
6장. 폼 처리
__로그인 폼
____웹 브라우저에서 쿠키 가져오기
__내용을 최신화하는 로그인 스크립트 확장
__Mechanize 모듈로 폼 처리 자동화
__요약
7장. 캡차 해결
__계정 등록
____캡차 이미지 로딩
__광학 문자 인식
____개선할 사항
__복잡한 캡차 해결
____캡차 처리 서비스 이용
____9kw 시작
______9kw CAPTCHA API
____등록 통합
__요약
8장. Scrapy
__설치
__프로젝트 시작
____모델 정의
____스파이더 생성
______설정 조정
______스파이더 테스트
____shell 커맨드로 스크래핑
____결과 확인
____크롤링 중단과 재개
__포르티아로 시각적 스크래핑
____설치
____어노테이션
____스파이더 개선
____결과 확인
__Scrapely로 수집 자동화
__요약
9장. 실제 웹사이트 적용
__구글 검색 엔진
__페이스북
____웹사이트
____API
__갭
__BMW
__요약