def getStockCurrentDay(code, Market): ''' 获取股票当日数据 腾讯API API地址:http://qt.gtimg.cn/q=sh600383 sh:上海 sz:深圳 返回当天成交数据 code:股票代码 market:股票市场 数据返回@return dict ''' if code and Market: url = 'http://qt.gtimg.cn/q=%s%s' % (Market, code) headers = {'Content-type': 'application/x-javascript; charset=GBK'} result = httpGetContent(url=url, headers=headers, charset='gbk') if result: stocklist = _get_content(result) if stocklist: stockdict = {} stockdict['code'] = code # 股票代码 stockdict['name'] = unicode(stocklist[1], 'utf8') # 股票名称 stockdict['last_closing'] = float(stocklist[4]) # 昨日收盘价格 stockdict['start'] = float(stocklist[5]) # 开盘价格 stockdict['end'] = float(stocklist[3]) # 当前收盘价格(可以是当前价格) stockdict['high'] = float(stocklist[33]) # 最高价格 stockdict['low'] = float(stocklist[34]) # 最低价格 stockdict['buyvol'] = int(stocklist[7]) # 外盘 todo 数据对不上 stockdict["sellvol"] = int(stocklist[8]) # 内盘 todo 数据对不上 stockdict['range_price'] = float(stocklist[31]) # 涨跌价格 stockdict['range_percent'] = float(stocklist[32]) # 涨跌比% stockdict['volume'] = int(stocklist[6]) # 成交量(手) stockdict['total_price'] = int(stocklist[37]) # 成交额(万元) stockdict['change_rate'] = decimal(stocklist[38]) # 换手率 stockdict['pe'] = decimal(stocklist[39]) # 市盈率 stockdict['swing'] = float(stocklist[43]) # 振幅 stockdict['pb'] = float(stocklist[46]) # 股票市净率 stockdict['date'] = stocklist[30][:8] # 时间 stockdict[ "block"] = False if stockdict["start"] else True #股票是否停牌 return stockdict
def getStockCurrentDay(code, Market): ''' 获取股票当日数据 腾讯API API地址:http://qt.gtimg.cn/q=sh600383 sh:上海 sz:深圳 返回当天成交数据 code:股票代码 market:股票市场 数据返回@return dict ''' if code and Market: url = 'http://qt.gtimg.cn/q=%s%s' % (Market, code) headers = {'Content-type': 'application/x-javascript; charset=GBK'} result = httpGetContent(url=url, headers=headers, charset='gbk') if result: stocklist = _get_content(result) if stocklist: stockdict = {} stockdict['code'] = code # 股票代码 stockdict['name'] = unicode(stocklist[1], 'utf8') # 股票名称 stockdict['last_closing'] = float(stocklist[4]) # 昨日收盘价格 stockdict['start'] = float(stocklist[5]) # 开盘价格 stockdict['end'] = float(stocklist[3]) # 当前收盘价格(可以是当前价格) stockdict['high'] = float(stocklist[33]) # 最高价格 stockdict['low'] = float(stocklist[34]) # 最低价格 stockdict['buyvol'] = int(stocklist[7]) # 外盘 todo 数据对不上 stockdict["sellvol"] = int(stocklist[8]) # 内盘 todo 数据对不上 stockdict['range_price'] = float(stocklist[31]) # 涨跌价格 stockdict['range_percent'] = float(stocklist[32]) # 涨跌比% stockdict['volume'] = int(stocklist[6]) # 成交量(手) stockdict['total_price'] = int(stocklist[37]) # 成交额(万元) stockdict['change_rate'] = decimal(stocklist[38]) # 换手率 stockdict['pe'] = decimal(stocklist[39]) # 市盈率 stockdict['swing'] = float(stocklist[43]) # 振幅 stockdict['pb'] = float(stocklist[46]) # 股票市净率 stockdict['date'] = stocklist[30][:8] # 时间 stockdict["block"] = False if stockdict["start"] else True #股票是否停牌 return stockdict
def stock_finical_post(): """抓取同花顺业绩公告板块 http://data.10jqka.com.cn/financial/yjgg/ http://data.10jqka.com.cn/financial/yjgg/page/56/ajax/1/ """ headers = { "Host": "data.10jqka.com.cn", "Referer": "http://data.10jqka.com.cn/financial/yjyg/", "X-Requested-With": "XMLHttpRequest" } count = range(1, 60) urls = [ "http://data.10jqka.com.cn/financial/yjgg/page/%s/ajax/1/" % num for num in count ] for url in urls: content = httpGetContent(url, headers, "gb2312") if content: soup = BeautifulSoup(content) stock_item = soup.select("tbody > tr") for item in stock_item: tds = item.select('td') stock_dict = {} for i, td in enumerate(tds): if i == 1: # 代码 stock_dict["code"] = td.select('a')[0].string elif i == 3: # 日期 stock_dict["date"] = str_to_date(td.string, "%Y-%m-%d") elif i == 4: # 每股收益 stock_dict["earnings"] = decimal(td.string) elif i == 5: # 营业收入 stock_dict["main_income"] = decimal(td.string) elif i == 6: # 营业收入同比增长% stock_dict["income_rise"] = validate_decimal(td.string) elif i == 7: # 净利润 万元 stock_dict["net_profit"] = decimal(td.string) elif i == 8: #净利润同比增长% stock_dict["net_profit_rise"] = validate_decimal( td.string) yield stock_dict
def stock_finical_post(): """抓取同花顺业绩公告板块 http://data.10jqka.com.cn/financial/yjgg/ http://data.10jqka.com.cn/financial/yjgg/page/56/ajax/1/ """ headers = { "Host": "data.10jqka.com.cn", "Referer": "http://data.10jqka.com.cn/financial/yjyg/", "X-Requested-With": "XMLHttpRequest" } count = range(1, 60) urls = ["http://data.10jqka.com.cn/financial/yjgg/page/%s/ajax/1/" % num for num in count] for url in urls: content = httpGetContent(url, headers, "gb2312") if content: soup = BeautifulSoup(content) stock_item = soup.select("tbody > tr") for item in stock_item: tds = item.select('td') stock_dict = {} for i, td in enumerate(tds): if i == 1: # 代码 stock_dict["code"] = td.select('a')[0].string elif i == 3: # 日期 stock_dict["date"] = str_to_date(td.string, "%Y-%m-%d") elif i == 4: # 每股收益 stock_dict["earnings"] = decimal(td.string) elif i == 5: # 营业收入 stock_dict["main_income"] = decimal(td.string) elif i == 6: # 营业收入同比增长% stock_dict["income_rise"] = validate_decimal(td.string) elif i == 7: # 净利润 万元 stock_dict["net_profit"] = decimal(td.string) elif i == 8: #净利润同比增长% stock_dict["net_profit_rise"] = validate_decimal(td.string) yield stock_dict
def stock_finical_quarter(code): """ 通过同花顺行业数据得到数据报告信息。 指标\日期 基本每股收益 摊薄每股收益 每股净资产 每股现金流 每股未分配利润 每股公积金 主营收入 利润总额 净利润 净资产收益率 销售毛利率 主营收入同比增长率 净利润同比增长率 2013-3-31 0.04 0.04 5.33 -0.68 2.66 1.37 425230.9 37821.37 18722.95 0.79 26.43 143.93 19.68 http://basic.10jqka.com.cn/600383/xls/Important_declaredate.xls" """ url = "http://basic.10jqka.com.cn/%s/xls/Important_declaredate.xls" % ( code) content = httpGetContent(url) stock_dict = {} if content: content = content.decode('gb2312').encode('utf8') data = cStringIO.StringIO(content) for i, line in enumerate(data): if i == 1: item = line.strip('\n').split('\t') date = str_to_date(item[0], "%Y-%m-%d") # 日期 earnings = decimal(item[2]) # 摊薄每股收益(数据相对准确)不以基本每股收益为准 0.04 net_asset_value = decimal(item[3]) # 每股净资产 5.33 cash_flow = decimal(item[4]) # 每股现金流 -0.86 profit_per_share = decimal(item[5]) # 每股未分配利润 capital_fund = decimal(item[6]) # 每股公积金 main_income = decimal(item[7]) # 主营业收入 total_profit = decimal(item[8]) # 利润总额 total_net_profit = decimal(item[9]) # 净利润 return_on_asserts = decimal(item[10]) # 净资产收益率 0.79% income_rise = decimal(item[12]) # 主营业收入同比增长率 143.93% net_profit_rise = decimal(item[13]) # 净利润同比增长率 19.68% stock_dict = { "code": code, "date": date, "earnings": earnings, "net_asset_value": net_asset_value, "cash_flow": cash_flow, "return_on_asserts": return_on_asserts, "income_rise": income_rise, "net_profit_rise": net_profit_rise, "profit_per_share": profit_per_share, "capital_fund": capital_fund, "main_income": main_income, "total_profit": total_profit, "total_net_profit": total_net_profit } break return stock_dict
def stock_finical_quarter(code): """ 通过同花顺行业数据得到数据报告信息。 指标\日期 基本每股收益 摊薄每股收益 每股净资产 每股现金流 每股未分配利润 每股公积金 主营收入 利润总额 净利润 净资产收益率 销售毛利率 主营收入同比增长率 净利润同比增长率 2013-3-31 0.04 0.04 5.33 -0.68 2.66 1.37 425230.9 37821.37 18722.95 0.79 26.43 143.93 19.68 http://basic.10jqka.com.cn/600383/xls/Important_declaredate.xls" """ url = "http://basic.10jqka.com.cn/%s/xls/Important_declaredate.xls" % (code) content = httpGetContent(url) stock_dict = {} if content: content = content.decode('gb2312').encode('utf8') data = cStringIO.StringIO(content) for i, line in enumerate(data): if i == 1: item = line.strip('\n').split('\t') date = str_to_date(item[0], "%Y-%m-%d") # 日期 earnings = decimal(item[2]) # 摊薄每股收益(数据相对准确)不以基本每股收益为准 0.04 net_asset_value = decimal(item[3]) # 每股净资产 5.33 cash_flow = decimal(item[4]) # 每股现金流 -0.86 profit_per_share = decimal(item[5]) # 每股未分配利润 capital_fund = decimal(item[6]) # 每股公积金 main_income = decimal(item[7]) # 主营业收入 total_profit = decimal(item[8]) # 利润总额 total_net_profit = decimal(item[9]) # 净利润 return_on_asserts = decimal(item[10]) # 净资产收益率 0.79% income_rise = decimal(item[12]) # 主营业收入同比增长率 143.93% net_profit_rise = decimal(item[13]) # 净利润同比增长率 19.68% stock_dict = { "code": code, "date": date, "earnings": earnings, "net_asset_value": net_asset_value, "cash_flow": cash_flow, "return_on_asserts": return_on_asserts, "income_rise": income_rise, "net_profit_rise": net_profit_rise, "profit_per_share": profit_per_share, "capital_fund": capital_fund, "main_income": main_income, "total_profit": total_profit, "total_net_profit": total_net_profit } break return stock_dict