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