Computer/Data Analysis

웹 크롤링(1)

choideu 2023. 1. 24. 19:09

1. 내가 원하는 데이터가 어떤 페이지에 URL로 구성되어있는지 파악하기

ex) page_url = f"https://finance.naver.com/sise/sise_index_day.naver?code=KPI200&page={page_no}"

 

2. esc + b: 새로운 cell 만들기(jupyter notebook)

 

3. import requests(requests 라이브러리 가져오기)

 

Tip) shift + tab을 누르면 함수가 어떤 함수인지 알려줌

4. 응답 코드 확인

status code 200: 정상적으로 결과를 가져옴

import requests

source = requests.get(page_url).text #가져온 값을 text로 바꿔서 source에 저장함

5. beautifulsoup4 사용하기

html -> 계층 구조를 가짐(parse tree)

source로 받아온 값이 정리됨

 

6. prettify()를 사용해 한번 더 정리하기

# bs4의 prettify() 함수는 HTML source를 tab을 기준으로 "이쁘게" 보여줍니다.
print(source.prettify())

7. 내가 원하는 부분 가져오기

# find_all()는 HTML source에서 조건을 만족하는 모든 tag을 가져오는 함수입니다.
source.find_all('td', class_="number_1")

find_all을 통해 td이면서 number_1을 클래스로 가지는 것들을 모두 parsing 해옴

 

 

using D2