コード例 #1
0
ファイル: main.py プロジェクト: acetaxxxx/StockCrawler
    config = configparser.ConfigParser()
    config.read("src/config.ini")

    logging.basicConfig(filename=config['DEFAULT'].get('LogPath', 'log.txt'),
                        level=logging.DEBUG)

    crawler = Crawler(config['DEFAULT'].get('BaseUrl', ''))

    historyRepo = StockRepository(config['DEFAULT']['ConnectionStr'])
    monitorStockCollect = historyRepo.GetMonitorStock()
    historyCollect = historyRepo.GetStockHistory()

    logger = logging.getLogger('Main')

    for stockInfo in monitorStockCollect.Select():
        no = stockInfo['StockNumber']

        for year in range(2012, 2021):
            for month in range(1, 13):
                try:
                    historyData = crawler.GetHistory(no, year, month)
                    time.sleep(3.5)
                    for item in historyData['data']:
                        dictItem = ExtractItem(item)
                        dictItem['StockNo'] = no
                        historyCollect.InsertOrUpdate(dictItem)
                except:
                    logger.error(
                        f'Datetime: {datetime.datetime.now()} ,stockNo :{no},year {year},month: {month} exception'
                    )