コード例 #1
0
ファイル: szFund.py プロジェクト: changye/Stock
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
コード例 #2
0
ファイル: szFund.py プロジェクト: lijielife/Stock-56
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
コード例 #3
0
ファイル: szFund.py プロジェクト: lijielife/Stock-56
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
コード例 #4
0
ファイル: szFund.py プロジェクト: changye/Stock
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
コード例 #5
0
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
コード例 #6
0
ファイル: shFund.py プロジェクト: changye/Stock
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