def collect_stock_daily_trading(): """ 获取并保存每日股票交易数据 """ url = eastmoney_stock_api data = request_and_handle_data(url) stock_data = data["rank"] for i in stock_data: stock = i.split(",") stock_number = stock[1] stock_name = stock[2] sdt = SDT(stock_number=stock_number, stock_name=stock_name) sdt.yesterday_closed_price = float(stock[3]) sdt.today_opening_price = float(stock[4]) sdt.today_closing_price = float(stock[5]) sdt.today_highest_price = float(stock[6]) sdt.today_lowest_price = float(stock[7]) sdt.turnover_amount = int(stock[8]) sdt.turnover_volume = int(stock[9]) sdt.increase_amount = float(stock[10]) sdt.increase_rate = stock[11] sdt.today_average_price = float(stock[12]) sdt.quantity_relative_ratio = float(stock[22]) sdt.turnover_rate = stock[23] if not check_duplicate(sdt): sdt.save()
def collect_stock_daily_trading(): """ 获取并保存每日股票交易数据 """ url = eastmoney_stock_api data = request_and_handle_data(url) stock_data = data['rank'] for i in stock_data: stock = i.split(',') stock_number = stock[1] stock_name = stock[2] sdt = SDT(stock_number=stock_number, stock_name=stock_name) sdt.yesterday_closed_price = float(stock[3]) sdt.today_opening_price = float(stock[4]) sdt.today_closing_price = float(stock[5]) sdt.today_highest_price = float(stock[6]) sdt.today_lowest_price = float(stock[7]) sdt.turnover_amount = int(stock[8]) sdt.turnover_volume = int(stock[9]) sdt.increase_amount = float(stock[10]) sdt.increase_rate = stock[11] sdt.today_average_price = float(stock[12]) sdt.quantity_relative_ratio = float(stock[22]) sdt.turnover_rate = stock[23] if float(sdt.turnover_rate.replace('%', '')) == 0.0: # 去掉停牌的交易数据 continue if not check_duplicate(sdt): sdt.save()
def collect_stock_daily_trading(): """ 获取并保存每日股票交易数据 """ url = eastmoney_stock_api data = {} global retry while retry > 0: try: data = request_and_handle_data(url) retry = 0 except Exception: retry -= 1 stock_data = data.get('rank', []) today_trading = {} for i in stock_data: stock = i.split(',') if stock[4] == '-': continue stock_number = stock[1] stock_name = stock[2] sdt = SDT(stock_number=stock_number, stock_name=stock_name) sdt.yesterday_closed_price = float(stock[3]) sdt.today_opening_price = float(stock[4]) sdt.today_closing_price = float(stock[5]) sdt.today_highest_price = float(stock[6]) sdt.today_lowest_price = float(stock[7]) sdt.turnover_amount = int(stock[8]) sdt.turnover_volume = int(stock[9]) sdt.increase_amount = float(stock[10]) sdt.increase_rate = stock[11] sdt.today_average_price = float(stock[12]) quantity_relative_ratio = stock[22] sdt.quantity_relative_ratio = 0 if quantity_relative_ratio == '-' else float( quantity_relative_ratio) sdt.turnover_rate = stock[23] sdt.date = datetime.datetime.combine(datetime.date.today(), datetime.time(0, 0)) if sdt.turnover_amount == 0: # 去掉停牌的交易数据 continue today_trading[stock_number] = sdt return today_trading