コード例 #1
0
ファイル: trading.py プロジェクト: davischan3168/newpackage
def get_cashfl_m163(code):
    """
    quotes.money.163.com
    获取股票的买卖现金流量
    """
    df = pd.DataFrame()

    url = 'http://quotes.money.163.com/trade/lszjlx_{0},0.html'.format(code)
    while True:
        try:

            r = requests.get(url, headers=hds())
            soup = BeautifulSoup(r.text, 'lxml')

            tb = soup.find('table', attrs={'class': "table_bg001 border_box"})
            df = df.append(pd.read_html(str(tb))[0])
            df = df.drop(0, axis=0)

            page = soup.find('a', text='下一页')
            url = 'http://quotes.money.163.com' + page.get('href')
        except:
            break

    df = df.set_index('日期')
    df = df.sort_index()
    df = df.applymap(lambda x: wc._tofl(x))

    try:
        df['股票代码'] = df['股票代码'].map(lambda x: x.replace("'", ''))
    except:
        pass

    return df
コード例 #2
0
ファイル: trading.py プロジェクト: davischan3168/newpackage
def get_mk_data_m163(code):
    """
    获取股票的历史交易数据
    """
    df = pd.DataFrame()
    ty = dt.datetime.today().year
    #years=range(1998,ty+1)
    years = range(ty - 3, ty + 1)
    for year in years:
        for season in [1, 2, 3, 4]:
            url = 'http://quotes.money.163.com/trade/lsjysj_{2}.html?year={0}&season={1}'.format(
                year, season, code)
            try:
                #print(url)
                r = requests.get(url, headers=hds())
                soup = BeautifulSoup(r.text, 'lxml')
                tb = soup.find(
                    attrs={"class": "table_bg001 border_box limit_sale"})
                df = df.append(pd.read_html(str(tb))[0])
                #print(df.head())
            except:
                pass
    df = df.drop(0, axis=0)
    df = df.set_index('日期')
    df = df.sort_index()
    df = df.applymap(lambda x: wc._tofl(x))
    df['股票代码'] = df['股票代码'].map(lambda x: x.replace("'", ''))
    return df
コード例 #3
0
ファイル: bic.py プロジェクト: davischan3168/newpackage
def get_BCISCF_m163(code, bic='xjllb', mytype='report'):
    """
    code:股票代码
    bic:zcfzb(资产负债表),lrb(利润表),xjllb(现金流量表)三个参数
    mytype:report, year,两个参数
    """
    url = wc.bic_url[mytype].format(code, bic)
    #print(url)
    r = requests.get(url, stream=True)
    text = r.text.replace('\r\n', '\n')

    #f=open('bic_%s_%s_%s.csv'%(code,bic,mytype),'w')
    #f.write(text)
    #f.close()

    df = pd.read_csv(StringIO(text), header=0)
    df = df.dropna(how='all', axis=1)
    #print(df.head())

    name = list(df.columns)
    name = [s.strip() for s in name]
    df.columns = name

    df = df.set_index('报告日期')
    df = df.T
    df = df.applymap(lambda x: np.where(x == '--', np.nan, wc._tofl(x)))
    return df
コード例 #4
0
def get_finance_summary_m163(code, mytype='report'):
    """
    """
    url = wc.finace_summary_url[mytype].format(code)
    r = requests.get(url, stream=True)
    text = r.text.replace('\r\n', '\n')
    #f=open('financesummary_%s_%s.csv'%(code,mytype),'w')
    #f.write(text)
    #f.close()
    df = pd.read_csv(StringIO(text), header=0)
    df = df.dropna(how='all', axis=1)
    df = df.set_index('报告期')
    df = df.T
    df = df.applymap(lambda x: np.where(x == '--', np.nan, wc._tofl(x)))
    return df
コード例 #5
0
ファイル: trading.py プロジェクト: davischan3168/newpackage
def get_trading_data_m163(code,
                          start='20100101',
                          end=dt.datetime.today().strftime('%Y%m%d')):
    """
    code:股票代码
    start:开始读取的日期,like 20100101.
    end:  截止的日期,like 20170620
    
    """
    if code[0] in ['0', '2']:
        url = wc.trading['sz'].format(code, start, end)
    elif code[0] in ['6', '9']:
        url = wc.trading['sh'].format(code, start, end)
    elif code[0] in ['3']:
        url = wc.trading['gme'].format(code, start, end)

    #print(url)
    r = requests.get(url, stream=True, headers=hds())
    text = r.content.decode('gbk').replace('\r\n', '\n')
    #print(text)

    #f=open('trading_%s_%s_%s.csv'%(code,start,end),'w')
    #f.write(text)
    #f.close()

    df = pd.read_csv(StringIO(text), header=0)
    df = df.dropna(how='all', axis=1)
    #print(df.head())

    name = list(df.columns)
    name = [s.strip() for s in name]
    df.columns = name

    try:
        df = df.set_index('日期')
        #del df['股票代码']
        #df=df.T
        df = df.sort_index()
        df = df.applymap(lambda x: np.where(x == '--', np.nan, wc._tofl(x)))
        df['股票代码'] = df['股票代码'].map(lambda x: x.replace("'", ''))
    except:
        pass

    return df