python 监控股价 程序 tk_linux通过python监控股票股价

python 脚本代码如下,保存文件名为 gupiao.py:

#!/usr/bin/env python

# -*- coding:utf-8 -*-

from colorama import init, Fore, Back, Style

from prettytable import PrettyTable

import urllib.request

import time

print("author:www.phpernote.com\n")

#print('current_time:')

print(time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())))

print()

#debug=True

debug=False

x = PrettyTable(['名字', '代码', '时间', '当前价格', '涨跌', '涨跌%', '成交量(手)', '成交额(万)', '总市值(亿)'])

x.align = 'l'

x.align['涨跌%'] = 'r'

x.align['涨跌'] = 'r'

init(autoreset=False)

class Colored(object):

# 前景色:红色 背景色:默认

def red(self, s):

return Fore.RED + s + Fore.RESET

# 前景色:绿色 背景色:默认

def green(self, s):

return Fore.GREEN + s + Fore.RESET

def yellow(self, s):

return Fore.YELLOW + s + Fore.RESET

def white(self,s):

return Fore.WHITE + s + Fore.RESET

def blue(self,s):

return Fore.BLUE + s + Fore.RESET

class Utility:

def ToGB(str):

if(debug): print(str)

return str.decode('gb2312')

class StockInfo:

def GetStockStrByNum(num):

f= urllib.request.urlopen('http://qt.gtimg.cn/q=s_'+ str(num))

if(debug): print(f.geturl())

if(debug): print(f.info())

return f.readline()

f.close()

def ParseResultStr(resultstr):

if(debug): print(resultstr)

slist=resultstr[14:-3]

if(debug): print(slist)

slist=slist.split('~')

if(debug) : print(slist)

color = Colored()#创建Colored对象

zhangdie = float(slist[4])

if (zhangdie < 0):

slist[1] = color.green(slist[1])

slist[2] = color.green(slist[2])

slist[3] = color.green(slist[3])

slist[4] = color.green(slist[4])

slist[5] = color.green(slist[5] + '%')

slist[6] = color.green(slist[6])

slist[7] = color.green(slist[7])

slist[9] = color.green(slist[9])

elif (zhangdie > 0):

slist[1] = color.red(slist[1])

slist[2] = color.red(slist[2])

slist[3] = color.red(slist[3])

slist[4] = color.red(slist[4])

slist[5] = color.red(slist[5] + '%')

slist[6] = color.red(slist[6])

slist[7] = color.red(slist[7])

slist[9] = color.red(slist[9])

x.add_row([slist[1], slist[2], '', slist[3], slist[4], slist[5], slist[6], slist[7], slist[9]])

def GetStockInfo(num):

str=StockInfo.GetStockStrByNum(num)

strGB=Utility.ToGB(str)

StockInfo.ParseResultStr(strGB)

if __name__ == '__main__':

stocks = [

'sh000001',#上证指数

#'sh600776',#东方通信

#'sh603000',#人民网

'sh600000',#浦发银行

'sh600085',#同仁堂

'sh601009',#南京银行

'sz002186',#全聚德

'sz002425' #凯撒文化

]

for stock in stocks:

StockInfo.GetStockInfo(stock)

print(x)

然后执行命令

python3 ~/python/gupiao.py

得到显示结果:

20200814144055.png

当然这里读取只是当前的股价,不会实时变化的,如果需要动态监视股价变化,可以配合 watch 命令,例如:

watch -n 1 python3 ~/python/gupiao.py

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值