def __get(url): with urllib.request.urlopen(url=url) as page: data = YahooFinance.__parse_page(page) result = dict((date, {'expect': data["expectAll"].get(date), 'result': data["resultAll"].get(date)}) for date in data["expectAll"].keys() if data["resultAll"].get(date) != None) Log.info(result) return result
def update(key,url): Log.info("key: " + key) Log.info("access_to: " + url) result = YahooFinance.__get(url) EconomicIndicatorDatabase.insert(key,result) return result
def func(connect): for date, value in data.items(): sql_cmd = """ insert into {economic_indicator} (date, expect, result) values ('{date}', '{expect}', '{result}') """.format(economic_indicator=economic_indicator, date="".join(date.split("/")), expect=value['expect'], result=value["result"]) Log.info("sql_cmd: " + sql_cmd) connect.execute(sql_cmd)
def __parse_page(page): s = '' for line in page.readlines(): s = s + line.decode('utf-8') Log.info('html: ' + s) expect_all_js = re.search(r'var expectAll((.|\n)*?)};', s).group() result_all_js = re.search(r'var resultAll((.|\n)*?)};', s).group() js = expect_all_js + "\n" + result_all_js Log.info("js: " + js) return YahooFinance.__to_python_format(js)
def func(connect): Log.info("sql_cmd: " + schema) connect.executescript(schema)