import json
|
import time
|
from datetime import datetime
|
|
import requests
|
import juejin
|
from third_data import hot_block
|
|
|
def get_data(day):
|
url = f"https://flash-api.xuangubao.cn/api/surge_stock/stocks?date={day.replace('-', '')}&normal=true&uplimit=true"
|
result = requests.get(url)
|
result = result.content.decode('utf-8')
|
result = json.loads(result)
|
if result['code'] != 20000:
|
raise Exception("获取失败")
|
items = result["data"]["items"]
|
block_codes = {}
|
for item in items:
|
# 代码名称,几天几板,现价,涨幅,涨停时间,换手,自由市值
|
data = [(item[1], item[0]), item[11], item[2], item[3], item[6], item[10], item[4]]
|
# 转换格式
|
data[3] = f"{'+' if data[3] > 0 else '-'}" + f"{round(data[3] * 100,2)}%"
|
if data[4] > 0:
|
data[4] = datetime.fromtimestamp(data[4]).strftime("%H:%M:%S")
|
else:
|
data[4] = '--'
|
data[5] = f"{round(data[5] * 100, 2)}%"
|
data[6] = f"{round(data[6] / 100000000, 2)}亿"
|
|
blocks = []
|
for b in item[8]:
|
blocks.append(b['name'])
|
for b in blocks:
|
if b not in block_codes:
|
block_codes[b] = []
|
block_codes[b].append(data)
|
|
return block_codes
|
|
|
if __name__ == '__main__':
|
date = '2022-07-22'
|
for i in range(100):
|
date = juejin.JueJinManager.get_previous_trading_date(date)
|
print(date)
|
results = get_data(date)
|
fresults = []
|
for key in results:
|
#print("--------",key)
|
#for data in results[key]:
|
# print(data)
|
fresults.append((key,None,results[key]))
|
|
print(fresults)
|
hot_block.upload_data(date,fresults)
|
time.sleep(5)
|