def getFundInfo(): url = 'http://www.szse.cn/szseWeb/FrontController.szse?ACTIONID=8&CATALOGID=1105&ENCODE=1&TABKEY=tab1' r = requests.get(url) text = bytes.decode(r.content, 'GBK') values = table2List(text) date = tools.lastValidMarketDay() def formatInfo(v): keys = ['FUND_CODE', 'FUND_ABBR', 'FUND_STARTDATE', 'FUND_VOL'] fund = dict() for i, value in enumerate(keys): fund[keys[i]] = v[i] fund['DATE'] = date.strftime('%Y-%m-%d') try: fund['FUND_VOL'] = int(fund['FUND_VOL'].replace(r',', '')) except: pass finally: pass return fund funds = dict() for v in values: fund = formatInfo(v) if 'FUND_CODE' in fund and fund['FUND_CODE'].startswith("1"): funds[fund['FUND_CODE']] = fund # logging.info(funds) return funds
def getFundValue(*date): if len(date) == 0: startDate = endDate = tools.lastValidMarketDay().strftime('%Y-%m-%d') logging.info('Default date is:\t' + startDate) elif len(date) > 1: startDate = date[0] endDate = date[1] else: startDate = endDate = date[0] url = 'http://www.szse.cn/szseWeb/FrontController.szse?ACTIONID=8&CATALOGID=1833&txtKsrq=START_DATE&txtZzrq=END_DATE&ENCODE=1&TABKEY=tab1' excelUrl = url.replace('START_DATE', startDate).replace('END_DATE', endDate) logging.info(excelUrl) r = requests.get(excelUrl) text = bytes.decode(r.content, 'GBK') values = table2List(text) [logging.info(v) for v in values] def formatvalue(v): keys = ['DATE', 'FUND_CODE', 'FUND_ABBR', 'FUND_NAV'] fund = dict() for i, value in enumerate(v): fund[keys[i]] = v[i] try: fund['FUND_NAV'] = float(fund['FUND_NAV'].replace(r',', '')) except: pass finally: pass return fund funds = dict() for v in values: fund = formatvalue(v) if 'FUND_CODE' in fund and fund['FUND_CODE'].startswith("1"): funds[fund['FUND_CODE']] = fund # logging.info(funds) return funds
def getFundValue(*date): if len(date) == 0: startDate = endDate = tools.lastValidMarketDay().strftime('%Y-%m-%d') logging.info('Default date is:\t' + startDate) elif len(date) > 1: startDate = date[0] endDate = date[1] else: startDate = endDate = date[0] url = 'http://www.szse.cn/szseWeb/FrontController.szse?ACTIONID=8&CATALOGID=1833&txtKsrq=START_DATE&txtZzrq=END_DATE&ENCODE=1&TABKEY=tab1' excelUrl = url.replace('START_DATE', startDate).replace('END_DATE', endDate) logging.info(excelUrl); r = requests.get(excelUrl) text = bytes.decode(r.content, 'GBK') values = table2List(text) [logging.info(v) for v in values] def formatvalue(v): keys = ['DATE', 'FUND_CODE', 'FUND_ABBR', 'FUND_NAV'] fund = dict() for i, value in enumerate(v): fund[keys[i]] = v[i] try: fund['FUND_NAV'] = float(fund['FUND_NAV'].replace(r',', '')) except: pass finally: pass return fund funds = dict() for v in values: fund = formatvalue(v) if 'FUND_CODE' in fund and fund['FUND_CODE'].startswith("1"): funds[fund['FUND_CODE']] = fund # logging.info(funds) return funds
def queryFund(*date, query='value'): if len(date) < 1: queryDate = tools.lastValidMarketDay().strftime('%Y%m%d') logging.info('Default date is:\t' + queryDate) else: queryDate = datetime.strptime(date[0], '%Y-%m-%d').strftime('%Y%m%d') if query == 'value': queryKeyWord = 'COMMON_SSE_FUND_FJLOF_NETVALUE_CX_S' elif query == 'scale': queryKeyWord = 'COMMON_SSE_FUND_FJLOF_SCALE_CX_S' url = 'http://query.sse.com.cn/commonQuery.do?' \ 'jsonCallBack=mycallback&' \ 'isPagination=true&' \ 'sqlId=' + queryKeyWord + '&' \ 'FILEDATE=' + queryDate + '&' \ 'pageHelp.pageSize=10000' valueText = getFromUrl(url) if (valueText): values = getJson(valueText) return values
def queryFund(*date, query='value'): if len(date) < 1: queryDate = tools.lastValidMarketDay().strftime('%Y%m%d') logging.info('Default date is:\t' + queryDate) else: queryDate = datetime.strptime(date[0], '%Y-%m-%d').strftime('%Y%m%d') if query == 'value': queryKeyWord = 'COMMON_SSE_FUND_FJLOF_NETVALUE_CX_S' elif query == 'scale': queryKeyWord = 'COMMON_SSE_FUND_FJLOF_SCALE_CX_S' url = 'http://query.sse.com.cn/commonQuery.do?' \ 'jsonCallBack=mycallback&' \ 'isPagination=true&' \ 'sqlId=' + queryKeyWord + '&' \ 'FILEDATE=' + queryDate + '&' \ 'pageHelp.pageSize=10000' valueText = getFromUrl(url) if(valueText): values = getJson(valueText) return values