주요 학습 내용 요약
웹 데이터 수집 라이브러리
1. 웹크롤링
- 웹페이지 정보 - Requests 라이브러리 사용
- HTML 소스 파싱 정보 - BeautifulSoup 라이브러리 사용
- 사용자는 접속하고 싶은 주소(url) 입력
-> 브라우저가 주소의 서버에게 페이지 구성 정보 요청(request)
-> 웹 서버는 코드(html)로 전달(response)
-> 브라우저는 html 해석해서 사용자 화면에 보여줌 - BeautifulSoup
HTML은 태그로 이루어지고, 많은 공백, 변하는 소스때문에 오류 가능성 -> BS가 오류 고친후 전달
- pip install beautifulsoup4
- from bs4 import BeautifulSoup - HTML 파싱
soup = BeautifulSoup(html, 'html.parser')
: html이라는 변수에 저장한 html소스 코드를 .parser를 붙여 변환
- soup : 모든 데이터 텍스트로 반환
- soup.contents : soup의 데이터를 리스트로 반환
- soup.stripped_strings : 공백,형태 제거하여 텍스트로 반환 - BeautifulSoup Find 함수
scraping = soup.find(class_='scraping')
scraping.string
- find : 조건에 해당하는 첫 번째 정보만 검색, 클래스 이름 알 경우 class_
- find_all : 조건에 해당하는 모든 정보 검색
- string : 태그 내부의 텍스트만 출력
2. 웹크롤링 과정
- 3단계 과정
(1) Request : 웹 페이지URL 이용하여 HTML 문서 요청
(2) Response : 요청한 HTML 문서 회신
(3) Parsing : 태그 기반으로 파싱
- 일별 종가 구현
# 200일 동안의 일별 종가 정보 가져오는 반복문
# 1page 당 10일의 일별 종가가 있으므로, 20page 필요
- 1page에 10개의 <tr>존재, 모든 <tr> parsing_ilst 에 저장 * 20번 반복
- <tr>안에 정보 : <td align='center'> 날짜헤더, <td class='num'> 가격헤더
- 일별 시세 테이블 구현 > pandas 이용
'패스트캠퍼스' 카테고리의 다른 글
[패스트캠퍼스] 데이터 분석 부트캠프 17기 - 7주차 (1) MySQL (0) | 2025.01.31 |
---|---|
[패스트캠퍼스] 데이터 분석 부트캠프 17기 - 5주차 (8) Netflix 분석 (0) | 2025.01.15 |
[패스트캠퍼스] 데이터 분석 부트캠프 17기 - 5주차 (6) pandas 보강 (0) | 2025.01.14 |
[패스트캠퍼스] 데이터 분석 부트캠프 17기 - 5주차 (5) 타이타닉 분석 (0) | 2025.01.14 |
[패스트캠퍼스] 데이터 분석 부트캠프 17기 - 5주차 (4) 바이크 분석 (0) | 2025.01.14 |