파이썬 초급 19강: requests로 웹 데이터와 API 가져오기

파이썬 초급 19강에서는 웹 데이터와 API을 초보자 눈높이에서 자세히 다룹니다. 이번 강의의 최종 목표는 requests로 웹 API에 요청을 보내고 JSON 응답을 읽는 것입니다. 단순히 코드를 복사하는 데서 끝내지 않고, 왜 이런 문법을 쓰는지와 어디에서 자주 실수하는지까지 함께 확인합니다.

웹 서비스와 자동화 도구는 API로 데이터를 주고받습니다. 초급 단계에서 HTTP와 JSON 감각을 잡아 두면 이후 데이터 수집, 챗봇, 업무 시스템 연동을 배우기 쉬워집니다. 오늘 예제는 작지만, 이후 자동화·데이터 분석·웹 API 학습으로 이어지는 기본 뼈대가 됩니다.

이번 강의에서 배울 내용

  • 핵심 주제: 웹 데이터와 API
  • 오늘의 목표: requests로 웹 API에 요청을 보내고 JSON 응답을 읽는 것
  • 실습 방식: 개념 이해 → 예제 실행 → 코드 해설 → 응용 과제
  • 권장 학습 시간: 30~50분

먼저 큰 그림부터 이해하기

파이썬 초급 19강: requests로 웹 데이터와 API 가져오기 - requests는 웹 서버나 API에 요청을 보내고 응답 데이터를 프로그램 안으로 가져오는 도구입니다.
requests는 웹 서버나 API에 요청을 보내고 응답 데이터를 프로그램 안으로 가져오는 도구입니다.

웹 데이터와 API을 배울 때 가장 중요한 것은 문법 이름을 외우는 것이 아닙니다. 실제 프로그램 안에서 이 개념이 어떤 역할을 하는지 이해해야 합니다. 초급 단계에서는 아래 세 가지 질문을 계속 떠올리면 좋습니다.

  • 이 값은 어디에서 왔는가?
  • 이 코드는 어떤 순서로 실행되는가?
  • 결과를 다시 사용하려면 어디에 저장해야 하는가?

핵심 개념 자세히 보기

  • HTTP는 웹에서 요청과 응답을 주고받는 규칙입니다.
  • API는 프로그램이 다른 프로그램의 기능이나 데이터를 사용할 수 있게 만든 약속입니다.
  • JSON은 딕셔너리와 리스트가 섞인 구조로 이해하면 쉽습니다.
  • 요청은 실패할 수 있으므로 상태 코드와 예외 처리가 필요합니다.

처음에는 설명만 읽으면 추상적으로 느껴질 수 있습니다. 그래서 바로 아래 예제를 실행하면서 개념을 눈으로 확인하는 것이 좋습니다.

초보자가 알아야 할 용어 정리

용어 쉬운 설명
HTTP 상태 코드 200, 404, 500처럼 요청 결과를 나타내는 숫자
JSON 웹 API에서 자주 쓰는 데이터 형식
timeout 응답을 너무 오래 기다리지 않도록 정하는 제한 시간

실습 준비

아래 예제는 새 파이썬 파일을 만들어 실행하면 됩니다. 파일명은 영어 소문자와 숫자를 사용하면 오류를 줄일 수 있습니다. 예를 들어 lesson.py, practice_01.py처럼 저장해 보세요. 코드를 입력한 뒤에는 한 번에 많이 고치지 말고, 실행 결과를 확인하면서 조금씩 바꾸는 것이 좋습니다.

예제 코드

파이썬 초급 19강: requests로 웹 데이터와 API 가져오기 - 상태 코드를 확인하고 JSON 응답을 읽는 흐름을 익히면 외부 데이터를 다루는 기본기가 생깁니다.
상태 코드를 확인하고 JSON 응답을 읽는 흐름을 익히면 외부 데이터를 다루는 기본기가 생깁니다.
import requests

url = "https://api.github.com"
response = requests.get(url, timeout=10)
print("상태 코드:", response.status_code)

if response.status_code == 200:
    data = response.json()
    print("현재 사용자 URL:", data.get("current_user_url"))
else:
    print("요청에 실패했습니다.")

코드 한 줄씩 이해하기

  1. requests.get()으로 지정한 URL에 요청을 보냅니다.
  1. timeout=10은 10초 넘게 응답이 없으면 멈추게 합니다.
  1. status_code가 200이면 정상 응답으로 봅니다.
  1. response.json()은 JSON 응답을 파이썬 딕셔너리처럼 읽게 해 줍니다.

이 단계에서 중요한 것은 코드를 ‘읽는 순서’입니다. 파이썬은 위에서 아래로 실행됩니다. 함수나 조건문처럼 예외적인 흐름이 있더라도, 초급자는 먼저 위에서 아래로 실행되는 기본 흐름을 몸에 익히면 됩니다.

값을 바꿔 보며 확인하기

예제 코드가 실행됐다면 이제 아주 작은 부분만 바꿔 보세요. 숫자 하나, 문자열 하나, 변수 이름 하나처럼 작은 변경부터 시작해야 오류를 찾기 쉽습니다. 변경 후에는 반드시 저장하고 다시 실행합니다.

바꿔 볼 부분 확인할 것
입력값 또는 변수값 결과 문장이 어떻게 달라지는지 확인합니다.
출력 문장 사용자에게 더 친절한 설명이 되는지 확인합니다.
코드 순서 순서를 바꾸면 오류가 나거나 결과가 달라지는지 확인합니다.

자주 나는 오류와 해결 방법

오류 또는 상황 왜 생기는가 해결 방법
requests 미설치 초급 단계에서 자주 만나는 문제입니다. pip install requests로 설치합니다.
Timeout 초급 단계에서 자주 만나는 문제입니다. 네트워크가 느리거나 서버가 응답하지 않을 때 발생할 수 있습니다.
JSONDecodeError 초급 단계에서 자주 만나는 문제입니다. 응답이 JSON 형식이 아닐 때 발생할 수 있습니다.

오류가 나면 먼저 오류 메시지의 마지막 줄을 보세요. 그다음 파일명과 줄 번호를 확인합니다. 대부분의 초급 오류는 괄호, 따옴표, 들여쓰기, 변수 이름, 자료형 변환에서 발생합니다.

혼자 해보는 연습 문제

  • 다른 공개 API의 상태 코드를 확인해 보세요.
  • 응답 JSON의 키 목록을 출력해 보세요.
  • 요청 실패 시 안내 문장을 더 자세히 출력해 보세요.

연습 문제를 풀 때는 정답 코드를 바로 찾기보다, 먼저 종이에 입력·처리·출력 흐름을 적어 보세요. 흐름이 보이면 코드는 훨씬 쉽게 작성됩니다.

실무에서는 어디에 연결될까?

웹 데이터와 API은 작은 예제에서 끝나지 않습니다. 업무 자동화에서는 파일을 정리하고, 데이터 분석에서는 표 데이터를 읽고, 웹 API에서는 응답 값을 다룰 때 계속 등장합니다. 지금 배우는 초급 문법은 이후 pandas, requests, FastAPI 같은 도구를 사용할 때도 기본 언어가 됩니다.

초보자를 위한 이해 비유

웹 데이터와 API을 처음 볼 때는 문법 기호가 먼저 눈에 들어옵니다. 하지만 문법을 기호로만 보면 금방 지칩니다. 더 좋은 방법은 역할로 이해하는 것입니다. 이번 강의의 핵심은 requests로 웹 API에 요청을 보내고 JSON 응답을 읽는 것입니다. 즉, 파이썬에게 어떤 일을 맡길지 정하고, 그 일을 처리하는 순서를 코드로 적는 연습입니다.

예를 들어 요리 레시피를 생각해 보세요. 재료를 준비하고, 순서대로 손질하고, 불 조절을 하고, 마지막에 그릇에 담습니다. 파이썬 코드도 비슷합니다. 필요한 값을 준비하고, 정해진 순서로 처리하고, 결과를 출력하거나 저장합니다. 초급자는 이 순서 감각을 잡는 것이 가장 중요합니다.

실행 흐름을 눈으로 따라가기

코드를 실행하기 전에는 아래처럼 세 칸으로 나누어 생각해 보세요. 이 습관은 간단한 예제뿐 아니라 나중에 긴 프로젝트를 만들 때도 도움이 됩니다.

구분 확인 질문 이번 강의에서의 의미
입력 프로그램이 처음 받는 값은 무엇인가? 웹 데이터와 API 예제에서 사용자가 넣거나 코드에 미리 적어 둔 값입니다.
처리 어떤 계산이나 판단을 하는가? requests로 웹 API에 요청을 보내고 JSON 응답을 읽는 것을 달성하기 위해 파이썬이 순서대로 실행하는 부분입니다.
출력 사용자가 확인하는 결과는 무엇인가? print 결과, 저장된 파일, 만들어진 그래프, 바뀐 데이터 등이 됩니다.

이 표를 직접 채워 보는 것만으로도 코드 이해력이 좋아집니다. 초급자가 어려움을 느끼는 이유는 문법을 몰라서이기도 하지만, 더 자주 발생하는 이유는 입력·처리·출력 흐름을 구분하지 못하기 때문입니다.

디버깅 루틴: 오류가 났을 때 순서대로 보기

오류가 나면 무작정 코드를 지우지 마세요. 아래 순서대로 확인하면 대부분의 초급 오류를 스스로 찾을 수 있습니다.

  1. 오류 메시지의 마지막 줄을 읽습니다.
  1. 파일명과 줄 번호를 확인합니다.
  1. 그 줄에서 괄호, 따옴표, 콜론, 쉼표가 맞는지 봅니다.
  1. 변수 이름을 위에서 정의한 이름과 똑같이 썼는지 확인합니다.
  1. 숫자로 계산해야 하는 값이 문자열로 남아 있지 않은지 확인합니다.
  1. 방금 수정한 부분을 되돌려 보고 다시 실행합니다.

이 루틴을 반복하면 오류가 무서운 것이 아니라 단서처럼 보이기 시작합니다. 파이썬 실력은 오류를 피하는 능력보다 오류를 읽고 고치는 능력에서 더 많이 자랍니다.

응용 방향: 오늘 배운 내용을 조금 더 키우기

이번 예제가 익숙해졌다면 웹 데이터와 API을 그대로 두고 입력값, 출력 문장, 저장 방식, 반복 횟수 중 하나를 바꿔 보세요. 예제를 완전히 새로 만들 필요는 없습니다. 초급 단계에서는 작은 변형을 많이 해보는 것이 가장 좋습니다.

  • 예제의 변수 이름을 더 의미 있게 바꿔 봅니다.
  • 출력 문장을 실제 사용자에게 보여 주는 안내문처럼 다듬어 봅니다.
  • 잘못된 입력이 들어왔을 때 어떤 일이 생기는지 일부러 확인해 봅니다.
  • 코드를 주석으로 설명해 보며 스스로 이해한 내용을 점검합니다.
  • 같은 결과를 조금 다른 방식으로 만들 수 있는지 시도해 봅니다.

이번 강의 체크포인트

  • ☐ 웹 데이터와 API이 왜 필요한지 말로 설명할 수 있다.
  • ☐ 예제 코드를 직접 실행했다.
  • ☐ 코드 한 줄의 역할을 최소 3개 이상 설명할 수 있다.
  • ☐ 오류가 났을 때 마지막 줄과 줄 번호를 확인했다.
  • ☐ 연습 문제 중 하나를 스스로 바꿔 실행했다.

함께 보면 좋은 글

FAQ

파이썬 API은 완전히 처음 배워도 따라갈 수 있나요?

네. 이번 강의는 프로그래밍을 처음 배우는 독자를 기준으로 구성했습니다. 코드를 외우는 것보다 실행 결과와 흐름을 이해하는 데 집중하면 됩니다.

예제를 그대로 따라 했는데 오류가 납니다. 무엇부터 확인해야 하나요?

괄호, 따옴표, 콜론, 들여쓰기, 변수 이름을 먼저 확인하세요. 특히 한글 입력 상태에서 따옴표가 이상하게 들어가거나, 변수 이름을 한 글자 다르게 쓰는 경우가 많습니다.

예제 코드가 너무 짧아 보입니다. 더 길게 공부해야 하나요?

초급에서는 짧은 코드가 더 좋습니다. 짧은 코드를 정확히 이해한 뒤 값을 바꾸고 기능을 하나씩 추가하는 방식이 실력이 가장 안정적으로 늘어납니다.

다음 단계로 무엇을 하면 좋을까요?

이번 강의의 연습 문제를 하나 이상 바꿔 실행해 보세요. 그다음 다음 강의로 넘어가면 앞에서 배운 개념이 자연스럽게 다시 등장합니다.

다음 강의 예고

다음 강의는 파이썬 초급 20강: 최종 프로젝트로 미니 앱 완성하기입니다. 이번 강의에서 익힌 흐름을 바탕으로 최종 미니 프로젝트을 더 구체적으로 다루겠습니다.

참고자료