Python 크롤링 한글 깨짐 pandas encoding 설정

파이썬 판다스로 웹사이트에서 크롤링을 하는 경우가 많습니다.

복잡한 로직을 만들지 않아도 간편하게 크롤링을 할 수 있기 때문입니다.

하지만 취득한 데이터가 한글인 경우 글자가 깨지는 경우가 있습니다.

import pandas as pd

url = 'https://finance.naver.com/sise/lastsearch2.nhn'
dfs = pd.read_html(url)

print(dfs)

 

결과

크롤링 한 데이터를 출력해보면 한글이 깨져서 나옵니다.

한글이 깨지는 것을 해결하기 위해서는 크롤링 할 때 encoding을 euc-kr로 설정해야 합니다.

 

인코딩 설정은 read_html() 안에 지정합니다.

import pandas as pd

url = 'https://finance.naver.com/sise/lastsearch2.nhn'
dfs = pd.read_html(url ,encoding='euc-kr')

print(dfs)

 

결과

 

read_html()에 encoding=’euc-kr’을 설정해 크롤링 한 데이터를 출력한 결과 한글 깨짐 현상이 없어졌습니다.

다른 코딩들을 찾아보면 인코딩을 설정해 주는 타이밍은 꼭 read_html()에서 하지 않아도 되는거 같습니다.

저는 read_html()에서 하는게 가장 편한거 같아 read_html()에 넣어서 사용합니다.

댓글