서브메뉴

본문

파이썬을 활용한 크롤러 개발과 스크레이핑 입문 (크롤러 설계와 개발부터 수집 데이터 분석과 운용까지)
파이썬을 활용한 크롤러 개발과 스크레이핑 입문 (크롤러 설계와 개발부터 수집 데이터 분석과 운용까지)
저자 : 카토 카츠야|요코야마 유우키
출판사 : 위키북스
출판년 : 2019
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 베이그런트로 윈도우에 우분투 가상 환경 설치하기

__베이그런트 설치하기

__베이그런트로 우분투 가상 환경 설치하기

__베이그런트로 우분투 가상 환경 실행하기

__파일 공유하기
[알라딘에서 제공한 정보입니다.]