본문으로 건너뛰기
실습하기

문자 인코딩 및 데이터 처리

인코딩은 데이터를 특정 형식으로 변환하는 과정을 말합니다.

인코딩은 컴퓨터 시스템에서 데이터를 저장, 처리, 전송하는 데 필요한 과정으로, 다양한 형태의 정보(예: 텍스트, 이미지, 오디오 등)를 컴퓨터가 이해할 수 있는 방식으로 변환합니다.

문자 인코딩은 문자나 기호들을 컴퓨터에서 사용할 수 있는 데이터 형식, 즉 숫자로 변환하는 과정입니다.

컴퓨터는 기본적으로 숫자만을 이해할 수 있기 때문에, 인간이 사용하는 다양한 문자 시스템(예: 알파벳, 한글, 한자, 아라비아 숫자 등)을 숫자로 변환하여 저장, 처리, 전송해야 합니다.

문자 인코딩은 이러한 변환 규칙을 정의한 것으로, ASCII, UTF-8, ISO-8859-1와 같은 다양한 문자 인코딩 방식이 있습니다.


인코딩 확인 및 설정하기

Python requests 라이브러리는 올바른 인코딩을 대부분 자동으로 감지합니다.

BeautifulSoup 객체를 생성할 때 인코딩을 명시적으로 지정할 수도 있습니다.

인코딩 확인
response = requests.get('http://example.com')
response.encoding = 'utf-8' # 인코딩 설정

soup = BeautifulSoup(response.text, 'html.parser')

데이터 정제 및 저장 방법

크롤링으로 수집한 데이터를 효율적으로 저장하고 활용하기 위해서는 데이터 정제 및 저장 과정이 필요합니다.


데이터 정제

Python의 내장 함수(예: strip(), replace())를 사용해 불필요한 공백, HTML 태그 등을 제거합니다.


데이터 저장

크롤링한 데이터는 텍스트 파일, CSV, JSON 등의 파일 형태로 저장하거나, 별도의 데이터베이스에 저장합니다.

텍스트 파일로 저장
import json

data = {'name': 'Alice', 'link': 'http://example.com'}

# JSON 형식으로 data.json 파일에 저장
with open('data.json', 'w', encoding='utf-8') as file:
json.dump(data, file, ensure_ascii=False)

실습

화면 오른쪽 코드 실행 버튼을 누르고, 크롤링 결과를 확인하거나 코드를 수정해 보세요!

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!