Step by Security Study

크롤링을 이용한 복권 당첨 번호 가져오기 본문

프로그래밍/Python

크롤링을 이용한 복권 당첨 번호 가져오기

jooon99 2023. 3. 5. 05:21

동행복권 사이트에서 해당 회차의 당첨번호 가져오기

https://dhlottery.co.kr/gameResult.do?method=byWin&wiselog=C_A_1_1 

 

로또6/45 - 회차별 당첨번호

1057회 당첨결과 (2023년 03월 04일 추첨) 당첨번호 8 13 19 27 40 45 1057회 순위별 등위별 총 당첨금액, 당첨게임 수, 1게임당 당첨금액, 당첨기준, 비고 안내 순위 등위별 총 당첨금액 당첨게임 수 1게임

dhlottery.co.kr

 

 

1. requests 모듈을 사용하여 서버한테 해당 페이지(html) 을 요청하고, 가져온 html에서 bs4 모듈을 사용하여 원하는 값에 접근할 수 있도록 한다.

# 모듈 선언
import requests
from bs4 import BeautifulSoup

# 웹페이지 가져오기
url = 'https://dhlottery.co.kr/gameResult.do?method=byWin&wiselog=C_A_1_1'
res = requests.get(url)

# 잘 받아왔는지 확인
print(res.text)

# html 접근
soup = BeautifulSoup(res.text, 'html.parser')
print(soup)

 

 

2. Chrome에서 개발자 도구(F12)를 통해 원하는 소스 찾기

# 가지고 온 html에서 태그가 div이고 class값이 num win인 내용만 찾아서 soup 변수에 저장해줘.
soup2 = soup.find('div', class_='num win')

# soup2 변수에 저장된 내용에서 태그가 span 인 것들만 spans 변수에 저장해줘.
spans = soup2.find_all('span')

# 출력하여 잘가지고 왔는지 확인
print(spans)

# 반복문을 통해 당첨 번호 가져오기
for span in spans:
    print(span.text)

 

 

 

해당 회차의 보너스 번호만 가져오기

import requests
from bs4 import BeautifulSoup

url = 'https://dhlottery.co.kr/gameResult.do?method=byWin&wiselog=C_A_1_1'
res = requests.get(url)

soup = BeautifulSoup(res.text, 'html.parser')
soup1 = soup.find('div', class_='num bonus')

** soup1 확인 *****************************************
print(soup1)
>>
<div class="num bonus">
<strong>보너스</strong>
<p><span class="ball_645 lrg ball4">35</span></p>
</div>
*******************************************************

# soup1 변수에 저장되어 있는 내용중에 span 태그의 text 값만 출력해줘.
print(soup1.span.text)

 

 

 

 

'프로그래밍 > Python' 카테고리의 다른 글

[기초] 셀레니움 selenium  (0) 2023.03.05
[기초] 크롤링 - requests, bs4  (1) 2023.03.05
[기초] 모듈 Module  (0) 2023.03.05
[기초] 파일 읽고 쓰기  (0) 2023.03.05
[기초] 함수 Definition  (1) 2023.03.05