import pymysql # pymysql 모듈 설치 후 import
db = pymysql.connect(
host = 'localhost', # db가 존재하는 host
user = 'root',
password = '******',
db = 'lotto', # 연결할 db 이름
charset = 'utf8'
)
# Connection으로부터 Cursor 생성
curs = db.cursor()
# Cursor 객체의 execute() 사용하여 insert, update, delete 문장을 db 서버와 연동
sql = 'query'
curs.execute(sql)
# 명시적으로 commit()을 호출
db.commit()
# 자동커밋 지정
autocommit=True
# DB 연결 닫기
db.close()
from bs4 import BeautifulSoup
import requests
import pymysql
db = pymysql.connect(
host = 'localhost',
user = 'root',
password = '******',
db = 'lotto'
)
def lotto(page, max_pages):
while page < max_pages:
url = 'https://dhlottery.co.kr/gameResult.do?method=byWin&drwNo=' + str(page)
req = requests.get(url)
html = req.text
bsObject = BeautifulSoup(html, "html.parser")
arr = list()
arr.append(page) # db에 회차 입력을 위한 append method
for numbers in bsObject.select('div > div > div > div > p > span'):
number = int(numbers.string)
arr.append(number)
insert_num(arr) # insert_num 함수로 이동
page += 1
def insert_num(number):
curs = db.cursor()
# INSERT Query
sql = "INSERT INTO lotto_numbers VALUES (%s ,%s, %s, %s, %s, %s, %s, %s)"
curs.execute(sql, number)
db.commit()
print(curs.rowcount, "record inserted")
lotto(1, 926)
db.close()
1 ~ 925회차까지 DB에 입력된 것을 확인할 수 있음.