이 책에서는 파이썬을 이용해 웹 스크레이핑을 수행하고 수집한 데이터를 처리하고 활용하는 방법을 다룬다. 기본적인 파이썬 문법부터 넘파이, 판다스, 실무에 활용 가능한 다양한 웹 데이터 수집 및 가공 방법, 스트림릿을 이용한 웹 앱 제작과 카카오 API 활용까지 상세히 설명하고 있어 파이썬을 처음 배우는 초보자뿐만 아니라 실무에서 웹 스크레이핑 기술을 활용하고자 하는 분들에게 훌륭한 가이드가 될 것이다. 이 책은 실제 사용 빈도가 높은 웹 사이트(네이버, 다음, 구글, 유튜브, 스포티파이 등)에서 다양한 데이터(날씨, 주식, 환율, 부동산, 가상 화폐, 노래, 동영상 검색 결과, 뉴스, 웹 문서 및 이미지 검색 결과)를 가져와 활용하는 전체 과정을 알기 쉽게 설명한다.
Contents
▣ 01장: 준비하기
1.1 파이썬 시작하기
___1.1.1 파이썬의 특징
___1.1.2 파이썬 개발 환경 설치
___1.1.3 파이썬 실행하기
1.2 주피터 노트북 활용
___1.2.1 주피터 노트북 실행과 노트북 생성
___1.2.2 주피터 노트북 주요 기능 둘러보기
___1.2.3 주피터 노트북에서 코드 작성
___1.2.4 주피터 노트북에서 문서 작성
___1.2.5 그 밖에 할 수 있는 작업
1.3 정리
▣ 02장: 파이썬 기본 문법
2.1 변수와 자료형
___2.1.1 변수
___2.1.2 숫자(int, float)
___2.1.3 문자열(str)
___2.1.4 불(bool)
___2.1.5 리스트(list)
___2.1.6 튜플(tuple)
___2.1.7 세트(set)
___2.1.8 딕셔너리(dict)
2.2 제어문
___2.2.1 조건문
___2.2.2 반복문
2.3 데이터의 출력
___2.3.1 기본 출력
___2.3.2 형식 지정 출력
2.4 예외 처리
___2.4.1 try ~ except 사용
___2.4.2 try ~ finally 사용
2.5 정리
▣ 03장: 함수, 클래스, 모듈
3.1 함수
___3.1.1 함수의 정의와 호출
___3.1.2 내장 함수
3.2 클래스
___3.2.1 클래스와 객체
___3.2.2 클래스 선언
___3.2.3 객체 생성과 활용
3.3 모듈
___3.3.1 모듈 만들고 불러오기
___3.3.2 내장 모듈
___3.3.3 패키지
___3.3.4 스케줄러 패키지
3.4 정리
▣ 04장: 파일 읽고 쓰기와 문자열 처리
4.1 파일 읽고 쓰기
___4.1.1 파일 읽고 쓰기 위한 기본 구조
___4.1.2 파일 읽기
___4.1.3 파일을 한 줄씩 읽어 처리하기
___4.1.4 파일 쓰기
___4.1.5 with 문으로 파일 읽고 쓰기
4.2 문자열 처리
___4.2.1 문자열 분리하기: split()
___4.2.2 불필요한 문자열 삭제하기: strip()
___4.2.3 문자열 연결하기: join()
___4.2.4 문자열 찾기: find(), count(), startswith(), endswith()
___4.2.5 문자열 바꾸기: replace()
___4.2.6 대소문자 변경하기: lower(), upper()
4.3 정리
▣ 05장: 데이터 처리와 분석을 위한 라이브러리
5.1 배열 데이터 연산에 효율적인 넘파이(NumPy)
___5.1.1 배열 데이터 생성
___5.1.2 배열 데이터 선택
5.2 표 데이터 처리에 강한 판다스(pandas)
___5.2.1 데이터 구조와 생성
___5.2.2 표 형식의 데이터 파일 읽고 쓰기
___5.2.3 표 데이터 선택
___5.2.4 표 데이터 통합
5.3 정리
▣ 06장: 웹 스크레이핑
6.1 웹 스크레이핑을 위한 기본 지식
___6.1.1 웹 스크레이핑의 과정
___6.1.2 웹 스크레이핑 시 주의 사항
___6.1.3 웹 데이터의 요청과 응답 과정
___6.1.4 웹 페이지 언어(HTML) 구조
___6.1.5 웹 페이지의 소스 가져오기
___6.1.6 웹 페이지의 소스 분석하고 처리하기
___6.1.7 웹 사이트 주소에 부가 정보 추가하기
6.2 웹 사이트에서 데이터 가져오기
___6.2.1 날씨 정보 가져오기
___6.2.2 주식 정보 가져오기
___6.2.3 환율 정보 가져오기
___6.2.4 부동산 정보 가져오기
___6.2.5 웹 페이지에서 이미지 가져오기
6.3 정리
▣ 07장: 셀레니움을 이용한 웹 스크레이핑
7.1 셀레니움 소개 및 설치
7.2 셀레니움으로 웹 브라우저 제어
___7.2.1 웹 사이트 접속
___7.2.2 HTML 코드에서 요소 찾기
___7.2.3 검색창에 문자열 입력하기
___7.2.4 웹 사이트 로그인 자동화
___7.2.5 웹 브라우저 스크롤
___7.2.6 웹 브라우저 내용을 이미지 파일로 저장
___7.2.7 헤드리스(Headless) 웹 브라우저 이용하기
7.3 동적 웹 페이지에서 데이터 가져오기
___7.3.1 커피 전문점 음료 메뉴 가져오기
___7.3.2 가상 화폐 거래 정보 가져오기
___7.3.3 유튜브 검색 결과 가져오기
7.4 정리
▣ 08장: 웹 API
8.1 웹 API의 이해
___8.1.1 웹 API의 데이터 획득 과정
___8.1.2 웹 API의 인증 방식
___8.1.3 응답 데이터의 형식 및 처리
8.2 API 키 없이 시간 관련 데이터 가져오기
___8.2.1 시간대 리스트와 현재 시각 데이터 가져오기
___8.2.2 시간대 변환 데이터 가져오기
8.3 RSS 피드 데이터 가져오기
___8.3.1 RSS 문서의 구조 및 데이터 추출
___8.3.2 구글 뉴스의 검색 기사 가져오기
8.4 스포티파이를 이용한 노래 데이터 가져오기
___8.4.1 앱 만들고 액세스 토큰 생성
___8.4.2 아티스트 API로 아티스트 관련 정보 가져오기
___8.4.3 트랙 API로 곡 관련 정보 가져오기
___8.4.4 앨범 API로 앨범 관련 정보 가져오기
8.5 야후 파이낸스에서 주식 데이터 가져오기
___8.5.1 설치 및 기본 사용법
___8.5.2 미국 주식 데이터 가져오기
___8.5.3 국내 주식 데이터 가져오기
___8.5.4 여러 주식 데이터 가져오기
8.6 정리
▣ 09장: 스트림릿으로 웹 앱(Web App) 만들기
9.1 스트림릿 둘러보기
___9.1.1 데모 웹 앱으로 스트림릿 맛보기
___9.1.2 웹 앱을 위한 코드 실행 방법
9.2 스트림릿 기본 사용법
___9.2.1 텍스트 요소
___9.2.2 데이터 표시 요소
___9.2.3 차트 요소
___9.2.4 만능 함수와 마술 명령어
___9.2.5 입력 위젯
___9.2.6 미디어 요소
___9.2.7 레이아웃과 컨테이너
9.3 스트림릿을 활용해 웹 앱 만들기
___9.3.1 주식 데이터 대시보드
___9.3.2 환율 데이터 대시보드
___9.3.3 부동산 데이터 대시보드
___9.3.4 구글 뉴스에서 기사 검색
___9.3.5 멀티페이지 웹 앱
___9.3.6 스트림릿 클라우드에 웹 앱 배포
9.4 정리
▣ 10장: 카카오 API
10.1 카카오 API를 이용한 웹 문서와 이미지 검색
___10.1.1 카카오디벨로퍼스 회원 가입 및 애플리케이션 등록
___10.1.2 웹 문서 검색
___10.1.3 이미지 검색
10.2 카카오 API를 이용한 카카오톡 메시지 전송
___10.2.1 카카오 로그인 관련 설정
___10.2.2 액세스 토큰 생성
___10.2.3 카카오톡 메시지 보내기
10.3 웹 스크레이핑 결과를 카카오톡으로 보내기
___10.3.1 날씨 정보 보내기
___10.3.2 환율 정보 보내기
___10.3.3 가상 화폐 정보 보내기
___10.3.4 주식 정보 보내기
___10.3.5 스케줄에 따라 카카오톡 메시지 보내기
10.4 정리
Author
최은석
GIST에서 박사학위를 받고 삼성전자에서 센서 기반 인터랙션 설계, 센서 신호 처리, 임베디드 시스템 S/W 관련 업무를 하고 있다. 항상 좀 더 좋은 방법이 없을까 고민하며 새로운 아이디어를 제시하고 구현하는 과정을 즐긴다. 파이썬을 이용한 업무 자동화, 데이터 처리 및 분석, 마이크로컨트롤러 응용에 관심이 많으며 주변 사람들에게 파이썬의 편리함을 알리고 있다.
저서로는 『데이터 분석을 위한 파이썬 철저 입문』이 있다.
GIST에서 박사학위를 받고 삼성전자에서 센서 기반 인터랙션 설계, 센서 신호 처리, 임베디드 시스템 S/W 관련 업무를 하고 있다. 항상 좀 더 좋은 방법이 없을까 고민하며 새로운 아이디어를 제시하고 구현하는 과정을 즐긴다. 파이썬을 이용한 업무 자동화, 데이터 처리 및 분석, 마이크로컨트롤러 응용에 관심이 많으며 주변 사람들에게 파이썬의 편리함을 알리고 있다.