[판다스] 네이버 금융 크롤링하기

판다스를 공부하려다 보면, 양질의 데이터가 필요합니다.
이때 판다스를 통한 크롤링을 알고 있다면 정말 좋습니다.

금융을 공부하기위해 코스피 데이터를 가져와 분석하고 저장하고 싶다고 가정해봅시다. 해당 데이터는 네이버에서 검색하여 네이버 금융에서 찾았습니다. 아래와 같이 테이블 형태의 자료가 게시되어있네요.

이 데이터를 pandas를 통해서 웹 페이지에서 가져오는 방법은 하나의 함수로 가능합니다.

- pd.read_html() 사용하기

import pandas as pd

df = pd.read_html("https://finance.naver.com/sise/sise_market_sum.naver?sosok=0")
print(df)

이렇게 불러오기한 것을 보면, 여러개의 데이터프레임+시리즈가 리스트 안에 들어있음을 확인할 수 있습니다. 글씨가 깨지는 바람에 어떤 내용인지는 모르지만 확실히 어떤 데이터를 가져왔다는 것은 볼 수 있습니다.

글씨가 깨지는 것은 코드에 encoding='euc-kr'을 추가하여 바로 고칠 수 있습니다.

import pandas as pd

df = pd.read_html("https://finance.naver.com/sise/sise_market_sum.naver?sosok=0", encoding='euc-kr')
print(df)

이제 우리가 필요한 정보만을 필터링 합시다.

저는 코랩에서 작업했기 때문에 궂이 print()를 사용하지 않더라도 그냥 '데이터프레임이 저장된 변수를 가장 마지막에 적어주기'만 해도 아래와 같이 보기좋게 출력해줍니다.

이제 또 다른 전처리를 통해 데이터를 클리닝 해줄 수 있습니다.

좋은 웹페이지 즐겨찾기