반응형
매일 경제 전종목 게시판
daostock.py
import pymysql
class DaoStock:
def __init__(self):
self.con = pymysql.connect(host='localhost', port=3305, user='root',
password='python', db='python', charset='utf8')
self.cur = self.con.cursor(pymysql.cursors.DictCursor)
def insert(self,s_code,s_name,price,ymd):
sql = f"""
INSERT INTO
stock (s_code,s_name,price,ymd)
VALUES ("{s_code}","{s_name}","{price}","{ymd}")
"""
cnt = self.cur.execute(sql)
self.con.commit()
return cnt
def __del__(self):
self.cur.close()
self.con.close()
if __name__ == '__main__':
de = DaoStock()
cnt = de.insert('1', '1', '1', '1')
print("cnt",cnt)
mybs01.py
import requests, datetime
from bs4 import BeautifulSoup
from day18.daostock import DaoStock
ds = DaoStock()
ymd = datetime.datetime.today().strftime('%Y%m%d_%H%M')
print("ymd",ymd)
res = requests.get('https://stock.mk.co.kr/domestic/all_stocks')
soup = BeautifulSoup(res.text, "lxml")
divs = soup.find_all("div", {'class':"st_name"})
for idx,div in enumerate(divs):
s_name = div.text.strip()
s_code = div.find("a")['href'].split("/")[3]
price = div.parent.find_all("div")[1].text.strip().replace(",","")
cnt = ds.insert(s_code, s_name, price, ymd)
print(idx,s_name,s_code,price,ymd,cnt)
반응형
'Python' 카테고리의 다른 글
[Python] 34장 MVVM 패턴의 웹 크롤링 (0) | 2024.04.18 |
---|---|
[Python] 32장 네이버 개발자 이용하여 크롤링하기 (1) | 2024.04.17 |
[Python] 31장 크롤링, beautifulsop (0) | 2024.04.17 |
[Python] 30장 아마존에 flask 서버 올리기2 (aws 이용) (0) | 2024.04.16 |
[Python] 29장 아마존에 flask 서버 올리기1 (aws 이용) (0) | 2024.04.16 |