PythonA股数据查询与可视化(改)

文章中的代码对大佬菜鸟上路_lbz 的文章https://blog.csdn.net/qq_44198436/article/details/101597418做了一下小小的修改,修改后的代码直接输入股票代码数字即可。

from tkinter import *
import requests
import tkinter
app = Tk()
app.title('股票查询')
app.geometry('400x250')
v_text = StringVar()
v_name = StringVar()
name = Entry(app, textvariable=v_name, bd=5)
url = 'http://hq.sinajs.cn/list='


def go():
    get_name = GetName()
    url_new = url + get_name
    res = requests.get(url_new).text
    list = res.split(',')
    v_text.set(
        '当前查询股票:{}\n今日开盘价:{}\n昨日收盘价:{}\n当前价格:{}\n今日最高价:{}\n今日最低价:{}\n成交的股票数:{}\n成交金额:{}\n日期:{} {}'
        .format(str(list[0][21:]), list[1], list[2], list[3], list[4], list[5],
                list[8], list[9], list[30], list[31]))


def photo():
    import io
    # allows for image formats other than gif
    from PIL import Image, ImageTk
    try:
        # Python2
        import Tkinter as tk
        from urllib2 import urlopen
    except ImportError:
        # Python3
        import tkinter as tk
        from urllib.request import urlopen
    root = tk.Toplevel()
    get_name = GetName()
    url = "http://image.sinajs.cn/newchart/daily/n/{}.gif".format(get_name)
    image_bytes = urlopen(url).read()
    # internal data file
    data_stream = io.BytesIO(image_bytes)
    # open as a PIL image object
    pil_image = Image.open(data_stream)
    # optionally show image info
    # get the size of the image
    w, h = pil_image.size
    # split off image file name
    fname = url.split('/')[-1]
    sf = "{} ({}x{})".format(fname, w, h)
    root.title(sf)
    # convert PIL image object to Tkinter PhotoImage object
    tk_image = ImageTk.PhotoImage(pil_image)
    # put the image on a typical widget
    label = tk.Label(root, image=tk_image, bg='black')
    label.pack(padx=5, pady=5)
    root.mainloop()


def go_1():
    import threading
    t1 = threading.Thread(target=photo)
    t1.start()


def GetName():
    get_name = name.get()  #get_name为股票代码
    temp = int(get_name)
    if temp > 600000:
        form = 'sh'  #sh代表上交所股票,代码以6开头,
    else:
        form = 'sz'  #sz代表深交所股票,代码以0或3开头
    get_name = form + get_name
    print(get_name)
    return get_name


name.pack()
go = Button(app, text='查询', command=go).pack()
photo_1 = Button(app, text='图片', command=go_1).pack()
label_show = Label(app, textvariable=v_text).pack()
app.mainloop()

发布了2 篇原创文章 · 获赞 0 · 访问量 54

猜你喜欢

转载自blog.csdn.net/umyrumr/article/details/104483600