본문 바로가기

파이썬으로 로또 1등 도전기

4일차) 로또 당첨 번호 가져오기! (공공데이터 API 활용법)

안녕하세요, 파이썬과 함께하는 **로또 당첨 번호 조회기** 시간입니다! 😄

혹시 매주 로또 결과를 확인하는 게 귀찮다고 느낀 적 있으신가요? 당첨 번호를 직접 찾아보지 않고, **파이썬**으로 자동으로 가져와서 볼 수 있다면 얼마나 편리할까요? 오늘은 파이썬으로 **공공데이터포털**에서 제공하는 로또 API를 사용해 로또 당첨 번호를 가져오는 방법을 설명드리겠습니다.



### 1. API가 뭐죠?

API(Application Programming Interface)는 말 그대로 프로그램끼리 소통할 수 있는 인터페이스를 말합니다. 이번엔 **공공데이터포털**에서 제공하는 로또 당첨 번호 API를 사용할 거예요. 공공데이터포털에서는 다양한 데이터를 제공하고 있는데, 그중 하나가 **로또 번호**입니다.

우리가 해야 할 일은 간단합니다:
- 공공데이터포털에 가서 API 키를 받는다.
- 파이썬으로 API를 호출해 최신 로또 당첨 번호를 가져온다.

**매우 간단하죠?** 그럼 바로 코드로 시작해볼까요?



### 2. 로또 당첨 번호 조회 코드

다음은 파이썬으로 로또 번호를 가져오는 간단한 코드입니다. 여기서는 최신 회차 번호를 입력하면 API에서 해당 회차의 당첨 번호와 보너스 번호를 받아오도록 설계되어 있습니다.

import requests

def get_lotto_winning_numbers(draw_no):
    # 공공데이터포털 로또 API URL
    url = f"https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo={draw_no}"
    
    # API로부터 데이터 가져오기
    response = requests.get(url)
    data = response.json()
    
    if data["returnValue"] == "success":
        # 당첨 번호 가져오기
        winning_numbers = [data[f"drwtNo{i}"] for i in range(1, 7)]
        bonus_number = data["bnusNo"]
        return winning_numbers, bonus_number
    else:
        return None

# 최신 회차 로또 번호 조회 (회차는 최신 회차 번호로 변경)
draw_no = 1141  # 최신 회차 번호를 넣으세요
numbers, bonus = get_lotto_winning_numbers(draw_no)

if numbers:
    print(f"당첨 번호: {numbers}, 보너스 번호: {bonus}")
else:
    print("데이터를 불러오지 못했습니다.")



### 3. 코드 설명

코드에서 일어나는 일은 정말 간단합니다:

1. `requests` 모듈을 사용해 **API 요청**을 보냅니다.  
   - API 주소에 **로또 회차 번호**를 넣으면, 그 회차의 당첨 번호가 담긴 데이터를 가져올 수 있습니다.
  
2. API에서 응답이 성공적이면(`returnValue`가 "success"일 때), 로또 번호를 파싱해 리스트로 반환합니다.
   - `drwtNo1`부터 `drwtNo6`까지가 6개의 당첨 번호이고, `bnusNo`는 보너스 번호입니다.

3. 마지막으로, 당첨 번호와 보너스 번호를 출력합니다!

### 4. 실행 결과

이 코드를 실행하면 아래와 같은 결과를 볼 수 있습니다:


당첨 번호: [7, 11, 12, 21, 26, 35], 보너스 번호: 20




**당첨 번호 6개**와 **보너스 번호**가 깔끔하게 출력됩니다! 이제 매주 로또 당첨 번호를 파이썬으로 바로 확인할 수 있어요. 굳이 인터넷에 들어가서 검색할 필요 없이, 프로그램을 실행하면 바로 최신 정보를 확인할 수 있답니다. 🥳




### 5. 최신 회차 번호는 어떻게 알 수 있을까?

물론, 위 코드에서는 `draw_no`에 최신 회차 번호를 직접 입력해야 합니다. 최신 회차 번호를 자동으로 가져오려면 추가적으로 공공데이터포털에서 최신 회차 번호를 조회하는 API를 사용할 수 있지만, 이 부분은 더 복잡하니 다음 글에서 다뤄볼게요!




### 6. 마무리

오늘은 **공공데이터포털 로또 API**를 활용해서 파이썬으로 로또 당첨 번호를 자동으로 가져오는 방법을 알아봤습니다. 이렇게 하면 매번 직접 번호를 찾지 않아도 되고, 로또에 당첨될 준비만 하면 되겠죠? (농담 😄)

혹시 더 궁금한 사항이 있거나 코드를 응용하고 싶다면 언제든지 댓글로 알려주세요!

그럼, 여러분 모두 **행운의 주인공**이 되시길 바라며, 다음 시간에 또 재미있는 파이썬 프로젝트로 돌아오겠습니다! 😊




**Tip**: 공공데이터포털에서 **API 키**를 받는 방법은 간단합니다. 공공데이터포털 사이트에서 회원가입 후, 원하는 API를 검색해 신청하면 금방 발급받을 수 있어요!