로또 당첨 번호 크롤링
# https://dhlottery.co.kr/common.do?method=main
# 1. 임포트
import requests
from bs4 import BeautifulSoup as soup
# 2. 대상 주소에서 가져오기
url = 'https://dhlottery.co.kr/common.do?method=main'
res = requests.get(url)
res.text
html = soup(res.content, 'html.parser')
html
# find 함수는 해당되는 값 하나만 찾습니다. 즉, 하나라도 찾으면 땡!
# find('태그이름', {'속성':'속성명'})
no1 = html.find('span', {'id':'drwtNo1'})
no2 = html.find('span', {'id':'drwtNo2'})
no3 = html.find('span', {'id':'drwtNo3'})
no4 = html.find('span', {'id':'drwtNo4'})
no5 = html.find('span', {'id':'drwtNo5'})
no6 = html.find('span', {'id':'drwtNo6'})
print(no1.text, no2.text, no3.text, no4.text, no5.text, no6.text)
# ===============================================================
# https://dhlottery.co.kr/gameResult.do?method=byWin&drwNo=931
url = 'https://dhlottery.co.kr/gameResult.do?method=byWin&drwNo=931'
res = requests.get(url)
lotto_html = soup(res.content, 'html.parser')
lotto_html
lottoNums = lotto_html.find('div', {'class':'win_result'})
finalNums = []
drwNo = lottoNums.find('strong')
finalNums.append(drwNo.text)
drwDate = lottoNums.find('p',{'class':'desc'})
finalNums.append(drwDate.text)
# lottoNums
divNums = lottoNums.find('div',{'class':'num win'})
firstNums = divNums.findAll('span')
for firstNum in firstNums:
finalNums.append(firstNum.text)
finalNums
# ===============================================================
url = 'https://dhlottery.co.kr/gameResult.do?method=byWin&drwNo='
plus_url = input('회차를 입력하세요 :')
base_url = url + plus_url
res = requests.get(base_url)
lotto_html = soup(res.content, 'html.parser')
lottoNums = lotto_html.find('div', {'class':'win_result'})
finalNums = []
drwNo = lottoNums.find('strong')
finalNums.append(drwNo.text)
drwDate = lottoNums.find('p',{'class':'desc'})
finalNums.append(drwDate.text)
divNums = lottoNums.find('div',{'class':'num win'})
firstNums = divNums.findAll('span')
for firstNum in firstNums:
finalNums.append(firstNum.text)
finalNums
# =================================================================
url = 'https://dhlottery.co.kr/gameResult.do?method=byWin&drwNo='
for i in range(1,11):
plus_url = str(i)
base_url = url + plus_url
res = requests.get(base_url)
lotto_html = soup(res.content, 'html.parser')
lottoNums = lotto_html.find('div', {'class':'win_result'})
finalNums = []
drwNo = lottoNums.find('strong')
finalNums.append(drwNo.text)
drwDate = lottoNums.find('p',{'class':'desc'})
finalNums.append(drwDate.text)
divNums = lottoNums.find('div',{'class':'num win'})
firstNums = divNums.findAll('span')
for firstNum in firstNums:
finalNums.append(firstNum.text)
print(finalNums)
# =====================리팩토링=======================================
def getLottoNumbers(dNo):
url = 'https://dhlottery.co.kr/gameResult.do?method=byWin&drwNo='
plus_url = str(dNo)
base_url = url + plus_url
res = requests.get(base_url)
lotto_html = soup(res.content, 'html.parser')
lottoNums = lotto_html.find('div', {'class':'win_result'})
finalNums = []
drwNo = lottoNums.find('strong')
finalNums.append(drwNo.text)
drwDate = lottoNums.find('p',{'class':'desc'})
finalNums.append(drwDate.text)
divNums = lottoNums.find('div',{'class':'num win'})
firstNums = divNums.findAll('span')
for firstNum in firstNums:
finalNums.append(firstNum.text)
return finalNums
lottos = []
for i in range(1,11):
lottos.append(getLottoNumbers(i))
import pandas as pd
df_lottos = pd.DataFrame(lottos)
df_lottos.to_csv('/content/drive/My Drive/Colab Notebooks/lotto.csv')
'크롤링' 카테고리의 다른 글
게시물 수집하기 예제 (0) | 2020.10.12 |
---|---|
동행복권 Open Api 코드 (0) | 2020.10.06 |
로또 번호 추출 코드 예제 (0) | 2020.10.06 |
colab에서 selenium 사용하는 법 (0) | 2020.10.05 |
네이버에서 고양이 이미지 가져오기 코드 (0) | 2020.10.05 |