使用Python實現(xiàn)
import requests
import xlsxwriter
import time
def creatlist(item):
temp = []
temp.append(item['name'])#股票名稱
temp.append("=TEXT(" + item['code'] + ",\"000000\")") #股票代碼
temp.append(float(item['buy'])) #最新價
temp.append("=TEXT(" + str(round(float(item['changepercent'])/100,4)) + ",\"0.00%\")")#跌漲幅
temp.append(item['pricechange'])#跌漲額
temp.append(item['volume']) #成交量
temp.append(item['amount']) #成交額
temp.append(item['mktcap']*10000)#總市值
temp.append(item['nmc']*10000)#流通市值
temp.append(item['pb'])#市盈率
temp.append(item['per'])#市凈率
temp.append("=TEXT(" + str(round(float(item['turnoverratio'])/100,4)) + ",\"0.00%\")")#換手率
temp.append(float(item['trade']))#買入
temp.append(float(item['sell'])) #賣出
temp.append(float(item['high']))#最高
temp.append(float(item['low']))#最低
temp.append(float(item['open']))#今開
temp.append(float(item['settlement']))#昨收
return temp
try:
abc = "http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeStockCount?node=hs_a"
sum = requests.get(abc).json()
timenow = time.strftime("%Y%m%d%H%M%S", time.localtime())
workbook = xlsxwriter.Workbook("hushenAstockexchange" + timenow + ".xlsx")
worksheet = workbook.add_worksheet()
namelist = ['股票名稱', '股票代碼', '最新價','跌漲幅','跌漲額','成交量','成交額','總市值','流通市值','市盈率','市凈率','換手率','買入','賣出','最高','最低','今開','昨收']
worksheet.write_row(0, 0, namelist)
for i in range(1,int(int(sum)//100 + 2)):
url_temp = "http://vip.stock.finance.sina.com.cn/quotes_service/api/json_v2.php/Market_Center.getHQNodeData?page=" + str(i) + "&num=100&sort=changepercent&asc=0&node=hs_a&symbol="
res_temp = requests.get(url_temp).json()
for j in range(1,len(res_temp)+1):
my_list = creatlist(res_temp[j-1])
worksheet.write_row(j+(i-1)*100, 0, my_list)
workbook.close()
except Exception as e:
print(e)