This commit is contained in:
dosangyoon
2021-11-13 11:55:38 +09:00
parent 72828f3d39
commit a6e8b738e1
2 changed files with 13 additions and 4 deletions

View File

@@ -2,7 +2,7 @@ import os
import shutil import shutil
import datetime import datetime
import time import time
import sys from stockpredictor.crawler.toSQLite.FnGuideCrawler import FnGuideCrawler
from stockpredictor.crawler.toSQLite.MetaCrawler import MetaCrawler from stockpredictor.crawler.toSQLite.MetaCrawler import MetaCrawler
from stockpredictor.crawler.toSQLite.StockCrawler import StockCrawler from stockpredictor.crawler.toSQLite.StockCrawler import StockCrawler
from stockpredictor.analysis.Analyzer import Analyzer from stockpredictor.analysis.Analyzer import Analyzer
@@ -16,7 +16,9 @@ PROJECT_HOME = os.path.join(os.path.dirname(os.path.join(os.path.dirname(os.path
start = time.time() start = time.time()
inFnguideFileName = PROJECT_HOME + '/resources/fnguide.db' inFnguideFileName = PROJECT_HOME + '/resources/fnguide.db'
""" """
# 재무제표는 3개월마다 다운로드를 한다.
crawler = FnGuideCrawler() crawler = FnGuideCrawler()
print("[KOSPI 상장기업 재무제표 다운로드]") print("[KOSPI 상장기업 재무제표 다운로드]")
crawler.crawl_fnguide(inFnguideFileName) crawler.crawl_fnguide(inFnguideFileName)
@@ -27,6 +29,7 @@ print("\n[환율 (USD, JPY, EUR, CNY), 원유 (WTI), 국제금]")
inFileName = PROJECT_HOME + '/resources/meta_1.db' inFileName = PROJECT_HOME + '/resources/meta_1.db'
crawler.crawl_stocks(inFileName) crawler.crawl_stocks(inFileName)
"""
print("\n[투자자별 매매동향(Trading_Trend)]") print("\n[투자자별 매매동향(Trading_Trend)]")
inFileName = PROJECT_HOME + '/resources/meta_2.db' inFileName = PROJECT_HOME + '/resources/meta_2.db'
crawler.crawl_trading_trend(inFileName) crawler.crawl_trading_trend(inFileName)
@@ -38,6 +41,7 @@ crawler.crawl_money_trend(inFileName)
print("\n[국내 시장금리]") print("\n[국내 시장금리]")
inFileName = PROJECT_HOME + '/resources/meta_4.db' inFileName = PROJECT_HOME + '/resources/meta_4.db'
crawler.crawl_interest_rates(inFileName) crawler.crawl_interest_rates(inFileName)
"""
print("\n[종목 다운로드]") print("\n[종목 다운로드]")
inFileName = PROJECT_HOME + '/resources/stock.db' inFileName = PROJECT_HOME + '/resources/stock.db'
@@ -45,6 +49,7 @@ crawler = StockCrawler()
crawler.crawl_etf_stocks(inFileName) crawler.crawl_etf_stocks(inFileName)
crawler.crawl_stocks(inFileName) crawler.crawl_stocks(inFileName)
print("\n[지수 저장]") print("\n[지수 저장]")
kospiFileName = PROJECT_HOME + '/resources/kospi.tsv' kospiFileName = PROJECT_HOME + '/resources/kospi.tsv'
kosdakFileName = PROJECT_HOME + '/resources/kosdak.tsv' kosdakFileName = PROJECT_HOME + '/resources/kosdak.tsv'

View File

@@ -6,6 +6,7 @@ import json
import sqlite3 import sqlite3
import requests import requests
import math import math
import time
class Queue(object): class Queue(object):
def __init__(self, max): def __init__(self, max):
@@ -145,13 +146,14 @@ class StockCrawler:
stocks.append({"NAME": 'KODEX 은행', "CODE": "091170", "PRICE": []}) stocks.append({"NAME": 'KODEX 은행', "CODE": "091170", "PRICE": []})
stocks.append({"NAME": 'TIGER 탄소효율그린뉴딜', "CODE": "376410", "PRICE": []}) stocks.append({"NAME": 'TIGER 탄소효율그린뉴딜', "CODE": "376410", "PRICE": []})
start_time = time.time()
for i, stock in enumerate(stocks): for i, stock in enumerate(stocks):
print (i, stock["NAME"], stock["CODE"]) print (i, stock["NAME"], stock["CODE"], (time.time()-start_time), "s")
start_time = time.time()
cursor.execute('SELECT * FROM ' + tableName + ' WHERE CODE=?', (stock["CODE"],)) cursor.execute('SELECT * FROM ' + tableName + ' WHERE CODE=?', (stock["CODE"],))
result = cursor.fetchone() result = cursor.fetchone()
if result != None: if result != None:
stock["PRICE"] = json.loads(result[2]) stock["PRICE"] = json.loads(result[2])
self.crawl_specific_stock(stock) self.crawl_specific_stock(stock)
text = json.dumps(stock['PRICE'], ensure_ascii=False) text = json.dumps(stock['PRICE'], ensure_ascii=False)
@@ -176,13 +178,15 @@ class StockCrawler:
code_df = self.getStockInfo() code_df = self.getStockInfo()
items = code_df.values items = code_df.values
start_time = time.time()
idx = 0 idx = 0
for item in items: for item in items:
idx += 1 idx += 1
item_name = item[0] item_name = item[0]
item_code = item[1] item_code = item[1]
print(idx, item_name, item_code) print(idx, item_name, item_code, (time.time()-start_time),"s")
start_time = time.time()
cursor.execute('SELECT * FROM ' + tableName + ' WHERE CODE=?', (item_code,)) cursor.execute('SELECT * FROM ' + tableName + ' WHERE CODE=?', (item_code,))
result = cursor.fetchone() result = cursor.fetchone()