파이썬을 활용한 크롤러 개발과 스크레이핑 입문
도서명:파이썬을 활용한 크롤러 개발과 스크레이핑 입문
저자/출판사:카토,카츠야,요코야마,유우키/위키북스
쪽수:428쪽
출판일:2019-07-24
ISBN:9791158391645
목차
[1부] 기본편
▣ 01장: 크롤링과 스크레이핑
01 크롤링과 스크레이핑
__크롤링과 스크레이핑
__크롤러가 주목받게 된 이유
__크롤링/스크레이핑할 때의 주의 사항
02 Wget으로 시작하는 크롤러 개발
__처음 만들어보는 크롤러
__macOS에 설치하기
__윈도우에 설치하기
__리눅스에 설치하기
__Wget의 사용 방법
__Wget을 크롤러로 사용해보기
__실제로 크롤링해보기
03 유닉스 명령어
__명령 라인 셸 사용하기
__스크레이핑과 관련된 유닉스 명령어
__정규 표현식
__유닉스 명령어로 스크레이핑하기
▣ 02장: 크롤러 설계하기
01 크롤러 설계 기본
__크롤러의 종류
__목적과 대상을 명확하게 하기
__URL 확인하기
__목적 데이터를 따로 제공하는지 확인하기
__웹 API
02 크롤러가 가지는 각각의 처리를 설계할 때의 주의 사항
__설계가 필요한 부분
__네트워크 요청
__파싱(분석)
__스크레이핑과 정규 표현식
__데이터 저장소의 구조와 선택
03 배치를 만들 때의 주의점
__배치란?
__설계
▣ 03장: 크롤러 및 스크레이핑 개발 환경 준비와 파이썬 기본
01 파이썬이 크롤링/스크레이핑에 적합한 이유
__파이썬을 사용하는 이유
02 크롤링/스크레이핑 전용 개발 환경 준비하기
__파이썬 3 설치하기
03 파이썬 기초 강의
__인터렉티브 셸과 스크립트 파일 실행하기
__코드 작성 방법
__숫자 자료형
__문자열
__자료 구조
__제어 구문
__함수와 클래스
▣ 04장: 스크레이핑 기본
01 라이브러리 설치하기
__pip으로 라이브러리 설치하기
02 웹 페이지 스크레이핑하기
__라이브러리 설치하기
__웹에 있는 리소스 추출하기
__XPath와 CSS 선택자
__HTML 소스 분석
03 RSS 스크레이핑하기
__라이브러리 설치하기
04 데이터를 데이터베이스에 저장하고 분석하기
__데이터를 데이터베이스에 저장해서 호출하기
__MySQL 설치하기
__데이터베이스와 사용자 만들기
__파이썬에서 MySQL에 접속하기
__분석한 결과 저장하기
__셸에서 스크립트 실행하기
[02부] 응용편
▣ 05장: 크롤러 설계/개발 (응용편)
01 크롤러를 발전시키기
__크롤링 개발에서 직면할 수 있는 문제와 해결 방법
02 print 함수로 로그 출력하기
__로그를 화면 또는 파일에 출력하는 방법
__로그 출력과 관련된 다양한 개선이 필요한 이유
03 logging 모듈로 로그를 출력하고 관리하기
__logging 모듈 사용하기
__딕셔너리 형식으로 설정 작성하기
04 로그 출력 라이브러리로 로그 관리하기
__서드파티 로그 출력 라이브러리 사용하기
05 병렬 처리하기
__병렬 처리하기
__표준 라이브러리 사용하기(한 대의 머신 병렬화하기)
__병렬로 내려받기
__작업 큐(여러 개의 머신을 사용해서 병렬 처리하기)
06 병렬 처리할 때의 주의점
__병렬 처리할 때 주의해야 하는 점
__상태 관리
▣ 06장: 스크레이핑 개발 (응용편)
01 크롤링한 데이터를 구조화 데이터로 변환하기
__수집한 데이터를 구조화하기
__구조화한 데이터를 저장하려면
__수집한 데이터를 사용하려면
02 XML로 변환하기
__데이터베이스를 만들고 테이블 등록하기
__XML 사용하기
__Orator 사용하기
__데이터를 분할해서 제공하기
03 JSON으로 변환하기
__JSON 사용하기
04 CSV로 변환하기
__CSV 사용하기
05 Scrapy를 사용해서 스크레이핑하기
__다양한 스크레이핑
__특정 아이템 수만 추출하고 싶을 때
__수집한 아이템을 JSON으로 변환하고 파일로 저장하기
__settings.py에 대해서
06 링크를 따라 돌며 크롤링하기
__링크를 따라 돌며 크롤링하려면
07 데이터베이스에 저장하기
__데이터베이스에 아이템 저장하기
08 디버그하기
__시행착오를 반복하며 스크레이핑하기
09 Scrapy로 프로그램 만들기
__스크립트 작성하기
10 크롬 개발자 도구 사용하기
__크롬(Chrome)
▣ 07장: 크롤러로 수집한 데이터 사용하기
01 피드 만들기
__피드란?
__RSS 형식
__네임 스페이스를 사용한 RSS 확장
__feedgen을 사용해서 RSS 만들기
02 플라스크(Flask)로 웹 API 만들기
__웹 API와 파이썬 웹 프레임워크
__플라스크를 사용한 웹 API 만들기
__데이터베이스 연결하기
__플라스크 플러그인: Flask-RESTful 사용하기
03 장고(Django)로 웹 API 만들기
__장고를 사용해서 웹 API 만들기
__film 테이블에서 아이템 추출하기
__JSON으로 결과 확인하기
04 태그 클라우드 만들기
__텍스트를 기반으로 태그 클라우드 만들기
▣ 08장: 크롤러 유지보수와 운용
01 정기적인 실행과 주기적인 실행
__정기적으로 크롤링하기
__cron 환경 변수
__특정 디렉터리를 기준으로 실행할 때
__주기적으로 실행하기
__백그라운드에서 실행 지속하기
02 다중 실행 방지하기
__동일 처리 다중 실행 대책
03 관리 화면 사용하기
__크롤링 대상을 데이터베이스로 관
__peewee와 flask-admin 사용하기
__장고 어드민 사용하기
04 통지 기능 추가하기
__통지 기능을 추가하려면
__메일로 통지 보내기
__파이썬에서 메일 보내기
__슬랙(Slack)에 통지 보내기
05 단위 테스트 만들기
__단위 테스트란?
__테스트 대상 코드와 테스트 코드 준비하기
__테스트 실행과 실행 결과
▣ 09장: 목적에 맞는 크롤러 & 스크레이핑 개발 방법
01 자바스크립트로 렌더링 되는 페이지를 스크레이핑하기
__자바스크립트로 렌더링되는 페이지를 스크레이핑하려면?
__파이썬 가상 환경과 venv
__크롬 헤드리스 모드의 명령 라인 실행
02 공개 데이터 사용하기
__공개 데이터란?
03 텀블러(Tumblr) 대시보드 크롤링하고 검색하기
__텀블러(Tumblr)란?
__글 검색 엔진 Whoosh
__본문 검색
__인덱스를 만드는 방법
__N그램 사용하기
▣ [부록] 유용한 라이브러리
01 프로세스 관리 도구 Supervisor
__Supervisor
02 파이참(PyCharm) 사용하기
__파이참 설치하기
__프로젝트 만들기
__편리한 기능
__파이참 설정을 원하는 대로 변경하기
03 NumPy와 SciPy 사용하기
__NumPy란
__SciPy
04 베이그런트로 윈도우에 우분투 가상 환경 설치하기
__베이그런트 설치하기
__베이그런트로 우분투 가상 환경 설치하기
__베이그런트로 우분투 가상 환경 실행하기
__파일 공유하기