요구사항을 먼저 구조화
이번 과제는 요구사항이 명확했다: (1) 네이버 API로 핀테크 뉴스 제목 수집 → (2) MySQL 저장 → (3) CSV 저장 → (4) 함수화 → (5) 모듈화. 제출물도 수집파일·DB 모듈·결과 캡처로 정해져 있었다. 그래서 처음부터 재사용을 염두에 두고 코드를 짰다.
requests의 기본기 복습
import requests
r = requests.get(url, params=payload, headers=headers)
print(r.status_code) # 200 정상 / 400·500 오류
response = r.json()r.text: utf-8로 인코딩해 한글이 잘 보이는 형태r.content: 서버가 보낸 원본 (HTML 파싱에 사용)r.json(): 내부 json 모듈로 자동 변환
네이버 API는 인증을 위해 X-Naver-Client-Id, X-Naver-Client-Secret 을 헤더에 담아야 한다는 점이 API마다 다른 규약이라는 걸 알게 했다.
함수화 그리고 모듈화
같은 로직을 반복하지 않으려고 수집·저장을 함수로 묶고, 공용 함수를 별도 파일(myfunc)로 분리했다.
import sys
sys.path.append("../../")
from myfunc import ....env 를 경로 지정해 불러오고(load_dotenv(경로)), API 키를 코드에서 분리한 것도 앞선 학습이 그대로 이어진 부분이다.
정리
"한 번 쓰고 버리는 스크립트"와 "모듈"의 차이를 체감했다. 함수로 묶고 파일로 분리하는 순간, 다음 과제(서울시 부동산 실거래가 수집 등)에서 같은 도구를 다시 꺼내 쓸 수 있었다. 파이썬 기초에서 배운 함수·클래스가 여기서 실전 도구가 됐다.