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)
예제 #5
0
 def func(connect):
     Log.info("sql_cmd: " + schema)
     connect.executescript(schema)