diff --git a/StockCrawler.bat b/StockCrawler.bat new file mode 100644 index 0000000..ca4564d --- /dev/null +++ b/StockCrawler.bat @@ -0,0 +1,2 @@ +C:\workspace\Anaconda3\envs\hts\python C:\workspace\DeepStock\StockCrawler.py +pause \ No newline at end of file diff --git a/StockCrawler.py b/StockCrawler.py index 649698e..824d6ef 100644 --- a/StockCrawler.py +++ b/StockCrawler.py @@ -22,57 +22,62 @@ week = datetime.today().weekday() if week in (0, 1, 2, 3, 4): - # 재무제표는 3개월마다 다운로드를 한다. - fnGuideCrawler = FnGuideCrawler(START_DATE) - print("[KOSPI 상장기업 재무제표 다운로드]") - fnGuideCrawler.crawl_fnguide(stockFileName) + while True: + try: + # 재무제표는 3개월마다 다운로드를 한다. + fnGuideCrawler = FnGuideCrawler(START_DATE) + print("[KOSPI 상장기업 재무제표 다운로드]") + fnGuideCrawler.crawl_fnguide(stockFileName) - metaCrawler = MetaCrawler(START_DATE) - print("\n[증시자금동향 (신용잔고, 펀드자금 잔고)]") - metaCrawler.crawl_money_trend(stockFileName) + metaCrawler = MetaCrawler(START_DATE) + print("\n[증시자금동향 (신용잔고, 펀드자금 잔고)]") + metaCrawler.crawl_money_trend(stockFileName) - print("\n[국내 시장금리]") - metaCrawler.crawl_interest_rates(stockFileName) + print("\n[국내 시장금리]") + metaCrawler.crawl_interest_rates(stockFileName) - print("\n[투자자별 매매동향(Trading_Trend)]") - metaCrawler.crawl_trading_trend(stockFileName) + print("\n[투자자별 매매동향(Trading_Trend)]") + metaCrawler.crawl_trading_trend(stockFileName) - print("\n[환율 (USD, JPY, EUR, CNY)]") - metaCrawler.crawl_exchange(stockFileName) + print("\n[환율 (USD, JPY, EUR, CNY)]") + metaCrawler.crawl_exchange(stockFileName) - print("\n[원유 (WTI), 국제금, COPPER, NATURALGAS, CORN, SOYBEAN]") - metaCrawler.crawl_meterials(stockFileName) + print("\n[원유 (WTI), 국제금, COPPER, NATURALGAS, CORN, SOYBEAN]") + metaCrawler.crawl_meterials(stockFileName) - print("\n[종목 다운로드]") - stockCrawler = StockCrawler(START_DATE) - stockCrawler.crawl_etf_stocks(stockFileName) - stockCrawler.crawl_stocks(stockFileName) - #stockCrawler.crawl_special_stocks(stockFileName) + print("\n[종목 다운로드]") + stockCrawler = StockCrawler(START_DATE) + stockCrawler.crawl_etf_stocks(stockFileName) + stockCrawler.crawl_stocks(stockFileName) + #stockCrawler.crawl_special_stocks(stockFileName) - print("\n[종목 분석]") - # S: 분석까지 진행 - inFileName = PROJECT_HOME + '/resources/stock.db' - analyzerSqlite = AnalyzerSqlite(PROJECT_HOME, stockFileName) + print("\n[종목 분석]") + # S: 분석까지 진행 + inFileName = PROJECT_HOME + '/resources/stock.db' + analyzerSqlite = AnalyzerSqlite(PROJECT_HOME, stockFileName) - analyzerSqlite.analyzeDaily() - analyzerSqlite.analyzeGrouping("weekly") - analyzerSqlite.analyzeGrouping("monthly") + analyzerSqlite.analyzeDaily() + analyzerSqlite.analyzeGrouping("weekly") + analyzerSqlite.analyzeGrouping("monthly") - analyzerSqlite = AnalyzerSqlite(PROJECT_HOME, stockFileName) - print("\n[종목 결정]") - # HTML 출력 - outPath = os.path.join(PROJECT_HOME, "resources", "analysis") - if not os.path.isdir(outPath): - os.mkdir(outPath) - day = datetime.today().strftime("%Y%m%d") - outPath = os.path.join(outPath, day) - if os.path.isdir(outPath): - shutil.rmtree(outPath) - os.mkdir(outPath) - print("print to Html...") - analyzerSqlite.findCandidate(outPath) - # E: 분석까지 진행 + analyzerSqlite = AnalyzerSqlite(PROJECT_HOME, stockFileName) + print("\n[종목 결정]") + # HTML 출력 + outPath = os.path.join(PROJECT_HOME, "resources", "analysis") + if not os.path.isdir(outPath): + os.mkdir(outPath) + day = datetime.today().strftime("%Y%m%d") + outPath = os.path.join(outPath, day) + if os.path.isdir(outPath): + shutil.rmtree(outPath) + os.mkdir(outPath) + print("print to Html...") + analyzerSqlite.findCandidate(outPath) + + break + except: + continue print("time : %6.2f 초", (time.time() - start)) diff --git a/requirements.txt b/requirements.txt index 7bb41da..e6413d8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,10 +5,12 @@ pandas_datareader bs4 pywin32 ipywidgets==7.0.0 + #keras #https://www.lfd.uci.edu/~gohlke/pythonlibs/#h5py #pip install h5py-3.6.0-cp37-cp37m-win32.whl #image-classifiers -fastapi -uvicorn +torchvision +transformers +sklearn \ No newline at end of file