파이썬을 활용한 크롤러 개발과 스크레이핑 입문 (크롤러 설계와 개발부터 수집 데이터 분석과 운용까지)

파이썬을 활용한 크롤러 개발과 스크레이핑 입문 (크롤러 설계와 개발부터 수집 데이터 분석과 운용까지)

$31.66
Description
웹 데이터 수집과 분석을 자동으로 처리해 보자!
인공지능, 머신러닝 기술의 발달과 더불어 최근 데이터 분석의 수요가 많아지고 있습니다. 데이터를 유의미한 자료로 활용하기 위해서는 다양한 데이터를 수집하는 ‘크롤링’과 수집한 데이터를 분석하는 ‘스크레이핑’ 기술이 필요합니다.

이 책은 데이터 수집과 분석 등의 업무를 맡은 프로그래머와 크롤러 개발을 맡은 엔지니어를 대상으로 크롤러 개발 방법부터 실제 크롤링과 스크레이핑하는 방법에 대해 상세하게 설명하는 입문서입니다.

이 책에서는 데이터 분석을 수행하는 현업에서 많이 사용되는 파이썬을 사용하여 크롤링, 스크레이핑의 기본과 다양한 응용 방법을 알려주고, 이를 운용할 때 직면할 수 있는 상황들에 대해 설명합니다. 나아가 실습 예제로 블로그 데이터 수집, 미세먼지 정보 수집 등을 다룹니다.
저자

카토카츠야

주식회사Gunsy소속,대학교졸업후들어간모가전업체에서카메라등에들어가는소프트웨어를개발하면서,개인적으로iPhone/Android가태동하던때부터애플리케이션개발을시작했다.어느날정신을차리고보니임베디드엔지니어에서모바일엔지니어로일하게되었다.개인적으로CrossBridge라는이름으로활동하고있다

목차

[1부]기본편

▣01장:크롤링과스크레이핑
01크롤링과스크레이핑
__크롤링과스크레이핑
__크롤러가주목받게된이유
__크롤링/스크레이핑할때의주의사항
02Wget으로시작하는크롤러개발
__처음만들어보는크롤러
__macOS에설치하기
__윈도우에설치하기
__리눅스에설치하기
__Wget의사용방법
__Wget을크롤러로사용해보기
__실제로크롤링해보기
03유닉스명령어
__명령라인셸사용하기
__스크레이핑과관련된유닉스명령어
__정규표현식
__유닉스명령어로스크레이핑하기

▣02장:크롤러설계하기
01크롤러설계기본
__크롤러의종류
__목적과대상을명확하게하기
__URL확인하기
__목적데이터를따로제공하는지확인하기
__웹API
02크롤러가가지는각각의처리를설계할때의주의사항
__설계가필요한부분
__네트워크요청
__파싱(분석)
__스크레이핑과정규표현식
__데이터저장소의구조와선택
03배치를만들때의주의점
__배치란?
__설계

▣03장:크롤러및스크레이핑개발환경준비와파이썬기본
01파이썬이크롤링/스크레이핑에적합한이유
__파이썬을사용하는이유
02크롤링/스크레이핑전용개발환경준비하기
__파이썬3설치하기
03파이썬기초강의
__인터렉티브셸과스크립트파일실행하기
__코드작성방법
__숫자자료형
__문자열
__자료구조
__제어구문
__함수와클래스

▣04장:스크레이핑기본
01라이브러리설치하기
__pip으로라이브러리설치하기
02웹페이지스크레이핑하기
__라이브러리설치하기
__웹에있는리소스추출하기
__XPath와CSS선택자
__HTML소스분석
03RSS스크레이핑하기
__라이브러리설치하기
04데이터를데이터베이스에저장하고분석하기
__데이터를데이터베이스에저장해서호출하기
__MySQL설치하기
__데이터베이스와사용자만들기
__파이썬에서MySQL에접속하기
__분석한결과저장하기
__셸에서스크립트실행하기

[02부]응용편

▣05장:크롤러설계/개발(응용편)
01크롤러를발전시키기
__크롤링개발에서직면할수있는문제와해결방법
02print함수로로그출력하기
__로그를화면또는파일에출력하는방법
__로그출력과관련된다양한개선이필요한이유
03logging모듈로로그를출력하고관리하기
__logging모듈사용하기
__딕셔너리형식으로설정작성하기
04로그출력라이브러리로로그관리하기
__서드파티로그출력라이브러리사용하기
05병렬처리하기
__병렬처리하기
__표준라이브러리사용하기(한대의머신병렬화하기)
__병렬로내려받기
__작업큐(여러개의머신을사용해서병렬처리하기)
06병렬처리할때의주의점
__병렬처리할때주의해야하는점
__상태관리

▣06장:스크레이핑개발(응용편)
01크롤링한데이터를구조화데이터로변환하기
__수집한데이터를구조화하기
__구조화한데이터를저장하려면
__수집한데이터를사용하려면
02XML로변환하기
__데이터베이스를만들고테이블등록하기
__XML사용하기
__Orator사용하기
__데이터를분할해서제공하기
03JSON으로변환하기
__JSON사용하기
04CSV로변환하기
__CSV사용하기
05Scrapy를사용해서스크레이핑하기
__다양한스크레이핑
__특정아이템수만추출하고싶을때
__수집한아이템을JSON으로변환하고파일로저장하기
__settings.py에대해서
06링크를따라돌며크롤링하기
__링크를따라돌며크롤링하려면
07데이터베이스에저장하기
__데이터베이스에아이템저장하기
08디버그하기
__시행착오를반복하며스크레이핑하기
09Scrapy로프로그램만들기
__스크립트작성하기
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)사용하기
__파이참설치하기
__프로젝트만들기
__편리한기능
__파이참설정을원하는대로변경하기
03NumPy와SciPy사용하기
__NumPy란
__SciPy
04베이그런트로윈도우에우분투가상환경설치하기
__베이그런트설치하기
__베이그런트로우분투가상환경설치하기
__베이그런트로우분투가상환경실행하기
__파일공유하기