programming/python

series - PyLotto 만들기_1 - 이번주 당첨 번호 가져오기_크롤링

slothCat 2021. 1. 6. 16:34
728x90

※ 주의 : 불법적인 크롤링에 대한 책임은 전적으로 본인에게 있습니다.

1) 설명

동행 복권 사이트에 가보면 로또 번호를 분석한 페이지가 존재한다.

그 사이트와 비슷한 프로그램을 구성해 보려고 한다.

 

https://www.dhlottery.co.kr/gameResult.do?method=statIndex

 

2) 코드 설명

크롤링에서는 다른 포스팅에서 자세히 설명하는 걸로 하고,

다음의 코드는 로또 당첨번호 사이트에서 회차, 추첨일, 당첨번호, 보너스 번호를 크롤링하여 리스트로 반환하는 코드이다.

beautifulSoup을 이용하여 select 했다.

 

3) 코드

import requests
from bs4 import BeautifulSoup

def crawlingLotto():
    # 로또 이번주 당첨 번호 사이트 주소
    req = requests.get('https://www.dhlottery.co.kr/gameResult.do?method=byWin')
    html = req.text
    soup = BeautifulSoup(html, 'html.parser')

    # 회차 크롤링 
    no = soup.select('div.win_result > h4 > strong') 
    # 추첨일
    date = soup.select('div.win_result > p') 
    # 당첨 번호
    nums_win = soup.select('div.num.win > p > span') 
    # 보너스 번호
    nums_bonus = soup.select('div.num.bonus > p > span')
    
    # 당첨번호를 리스트로 정리
    l = []
    for t in nums_win:
        l.append(t.text)
    
    # 나머지 데이터를 추가
    l += [nums_bonus[0].text, no[0].text, date[0].text]

    # 정리된 리스트 반환
    return l

if __name__ == "__main__":
    nums = crawlingLotto()
    print(nums)

4) 실행 결과

실행결과

반응형