[Python] 파이썬 크롤링 파일 쓰기시 UnicodeEncodeError: ‘cp949’ codec can’t encode character 오류 처리 방법
크롤링 후 txt파일로 생성하는 과정에서 UnicodeEncodeError: ‘cp949’ codec can’t encode character ‘xf4’ in position : illegal multibyte sequence 오류가 발생하였습니다.
Traceback (most recent call last):
File "C:pythonWorkspacemain.py", line 69, in <module>
parsing_game_info(div_list, 'mens')
File "C:pythonWorkspacemain.py", line 56, in parsing_game_info
create_file(filename, html)
File "C:pythonWorkspacemain.py", line 19, in create_file
f.write(html)
UnicodeEncodeError: 'cp949' codec can't encode character 'xf4' in position 18357: illegal multibyte sequence
오류가 발생한 스크립트는 다음과 같습니다.
def create_file(file_name, html):
if not os.path.isdir(path):
os.makedirs(path)
fine_name = "test_" + file_name + ".txt"
f = open(path + fine_name, 'w')
# f.write('---------------------- create' + fine_name +'------------------------nn')
f.write(html)
f.close()
[오류 해결방법]
open()메서드 선언시 encoding=’cp949′ 옵션을 주고 저장을 시도해보세요.
def create_file(file_name, html):
if not os.path.isdir(path):
os.makedirs(path)
fine_name = "test_" + file_name + ".txt"
f = open(path + fine_name, 'w', encoding='cp949')
# f.write('---------------------- create' + fine_name +'------------------------nn')
f.write(html)
f.close()
위와 같이 처리하였으나 동일한 오류가 발생한다면 utf-8로 처리를 하시면 될거에요.
def create_file(file_name, html):
if not os.path.isdir(path):
os.makedirs(path)
fine_name = "test_" + file_name + ".txt"
f = open(path + fine_name, 'w', encoding='utf-8')
# f.write('---------------------- create' + fine_name +'------------------------nn')
f.write(html)
f.close()
[REFERENCE]