들어가며
머리말과 저자목록
Notion 링크, PDF 파일 및 QR 코드
기본편
Chapter 1. 환경 설정
1.1 Jupyter Notebook
1.1.1 Python 설치
1.1.2 Jupyter Notebook 설치
1.1.3 Anaconda 설치
1.1.4 Jupyter Notebook 실행 방법
1.1.5 Jupyter Notebook 간단 사용 방법
1.2 크롬과 크롬 드라이버
1.2.1 크롬과 크롬 드라이버
1.2.2 크롬 브라우저 설치 방법
1.2.3 크롬 드라이버 설치 방법
1.3 MySQL
1.3.1 MySQL 설치 방법
Chapter 2. MySQL
2.1 MySQL이란?
2.2 MySQL 기법
2.2.1 CREATE문
2.2.2 ALTER문
2.2.3 DROP문
2.2.4 INSERT문
2.2.5 UPDATE문
2.2.6 DELETE문
2.2.7 SELECT문
2.3 MySQL과 Jupyter Notebook 연동
2.3.1 pymysql 라이브러리 설치 및 연결
2.3.2 SQL문 실행
Chapter 3. 웹 크롤링
3.1 HTML/CSS/XPath
3.1.1 HTML
3.1.2 CSS
3.1.3 XPath
경로 표현식(Path Expression)
경로표현식 예제
3.1.4 웹에서 Element, CSS, Selector, XPath 가져오는 방법
3.2 정적 웹크롤링(requests, bs4)
3.2.1 requests 라이브러리
3.2.2 beautifulsoup4 라이브러리
단일 값 추출하기 | find(), select_one()
다중 값 추출하기 | find_all(), select()
3.3 동적 웹 크롤링(Selenium)
3.3.1 Selenium 라이브러리
By 클래스
단일 값 추출하기 | find_element()
다중 값 추출하기 | find_elements()
Selenium에서 자주 사용되는 메서드
3.4 웹 크롤링 주의사항
3.4.1 웹 크롤링의 필요성과 웹 크롤링의 보안·윤리적 문제
3.4.2 웹 크롤링 가능 여부 파악 방법
Chapter 4. 데이터 전처리
4.1 데이터 전처리 라이브러리(Pandas, Numpy)
4.1.1 데이터 전처리(Data Preprocessing)
4.1.2 Pandas
Pandas의 주요 기능 및 특징
Pandas의 기본 자료구조(Series, DataFrame)
4.1.3 Numpy
Numpy의 주요 기능 및 특징
Numpy의 핵심 객체(ndarray)
4.2 데이터 정제 및 가공
4.2.1 데이터 타입 변환하기
dtypes()
astype()
4.2.2 데이터 결합하기
concat()
merge()
4.2.3 데이터 중복 처리하기
데이터 중복을 처리하는 이유
Pandas로 중복 데이터 처리하기
Numpy로 중복 데이터 처리하기
4.2.4 결측치 처리하기
결측치 확인하기 | isna(), isnull(), notna(), notnull()
결측치 제거하기 | dropna()
결측치 대체하기 | fillna()
4.2.5 이상치 처리하기
이상치 제거하기
이상치 대체하기
4.2.6 정규표현식을 사용한 URL 제거
[번외] SQLite3
[1] SQLite3란?
[2] MySQL과의 차이점
[3] SQLite3 사용 방법
[3-1] SQLite3 연결 및 간단 사용법
[3-2] SQLite3 사용 예시
활용편
Chapter 1. 금융용어사전
1.1 금융용어사전 소개
1.2 금융용어사전 크롤링 목적
1.3 크롤링 가능 여부 확인
1.4 금융용어사전 사이트 탐색
1.5 금융용어사전 크롤링
1.5.1 전체 페이지 수 구하기
1.5.2 전체 용어 크롤링
1.6 데이터 전처리
1.6.1 한국어 / 영어 단어 분리
1.7 MySQL DB에 데이터 적재
1.7.1 DB 생성
1.7.2 테이블 생성
1.7.3 데이터 저장
1.7.4 MySQL에서 저장된 데이터 확인하기
1.8 DB 활용 - 필터링
1.8.1 필터링1 - 채권 관련 용어
1.8.2 필터링2 - 이자 관련 용어
Chapter 2. KOTRA 해외시장 뉴스
2.1 사이트 소개
2.2 Kotra 크롤링 목적
2.3 Kotra 크롤링 가능 여부 확인
2.4 Kotra 사이트 구조 탐색
2.4.1 첫 페이지 XPath
2.4.2 상세 페이지 XPath
2.4.3 다음 페이지 XPath
2.5 Kotra 해외 시장 상품 동향 크롤링
2.5.1 크롤링할 페이지 접속
2.5.2 첫 페이지 크롤링
2.5.3 상세 페이지 크롤링
2.5.4 여러 페이지 크롤링하기
2.6 데이터 전처리
2.6.1 중복 게시글 제거
2.6.2 keyword 칼럼의 불필요한 요소 제거
2.7 MySQL DB에 데이터 적재
2.7.1 DB 생성
2.7.2 테이블 생성
2.7.3 데이터 저장
2.7.4 MySQL에서 저장된 데이터 확인하기
2.8 DB 활용 - 필터링
Chapter 3. 번개장터
3.1 번개장터 소개
3.2 번개장터 크롤링 목적
3.3 크롤링 가능 여부 확인
3.4 번개장터 사이트 탐색
3.4.1 상품 검색
3.4.2 상품 리스트 페이지 확인
3.4.3 상품 데이터 특이 사항
3.5 Galaxy Tab S6 크롤링
3.5.1 크롤링할 페이지 접속
3.5.2 상품 데이터 크롤링
3.6 데이터 전처리
3.6.1 중복 상품 제거
3.6.2 상품 속성값 변경
3.6.3 불필요한 상품 제거
3.6.4 상품 속성 칼럼 추가 생성
3.7 MySQL DB에 데이터 적재
3.7.1 DB 생성
3.7.2 테이블 생성
3.7.3 데이터 저장
3.7.4 MySQL에서 저장된 데이터 확인하기
3.8 DB 활용 - 필터링
3.8.1 필터링1 - 용량, 지원버전, 가격, 등록 날짜 조건
3.8.2 필터링2 - 직거래 가능 상품
3.8.3 필터링3 - 택배 거래
Chapter 4. 공공데이터포털
4.1 공공데이터포털
4.1.1 공공데이터포털 데이터 검색
4.1.2 공공데이터포털 데이터 탐색
4.1.3 OpenAPI 활용 신청
4.2 데이터 활용
4.2.1 URL과 매개변수
URL 확인
매개변수 확인
4.2.2 JSON 데이터 크롤링
라이브러리 호출
데이터 불러오기
데이터 변환
4.2.3 XML 데이터 크롤링
라이브러리 호출
데이터 불러오기
데이터 변환
4.2.4 데이터 전처리 미 저장
데이터 전처리
데이터 저장
4.3 MySQL
4.3.1 MySQL DB생성
4.3.2 MySQL 테이블 생성
4.3.3 MySQL 데이터 저장
4.3.4 MySQL 데이터 조회