摘要:代碼思路通過獲取輸入內容股票代碼,然后通過按鍵添加,按鍵刪除,添加在列表中的代碼都能通過查詢按鈕獲取到最新的股票信息。唯一的遺憾是沒有實現手動選擇更新頻率。當然使用也是沒問題噠直接得到的就是格式的則需要轉換格式簡易股票查詢不足之處請見諒
繼續練習tkinter,順便學習如何抓取網頁內容。
使用urllib和requests都能得到url中的內容,有一丁點兒的區別。
代碼思路:通過Entry獲取輸入內容(股票代碼),然后通過Add按鍵添加,Del按鍵刪除,添加在列表中的代碼都能通過查詢按鈕獲取到最新的股票信息。唯一的遺憾是沒有實現手動選擇更新頻率。
與上一篇內容有驚人的相似。
獲取網頁內容之前做的工作:
1.分析需要獲取的網頁
2.打開chrome瀏覽器,點擊右鍵查看,網頁代碼中找到Network,可以看到出現的鏈接及協議
3.決定獲取的方式,可以根據對網頁的分析結果,采用匹配策略
import urllib.request #import requests import tkinter from tkinter import * class StockParser(): def __init__(self,code_data,edit): self.stock_data = code_data self.edit=edit if self.stock_data.split(""")[1] =="": pass else: print(self.stock_data.split(""")[1]) self.stock_data=self.stock_data.split(""")[1] name = self.stock_data.split(",")[0] opening_price = float(self.stock_data.split(",")[1]) closing_price = float(self.stock_data.split(",")[2]) price = float(self.stock_data.split(",")[3]) high = float(self.stock_data.split(",")[4]) low = float(self.stock_data.split(",")[5]) self.edit.insert(END,[name,opening_price,closing_price,high,low,price,]) class Window: def __init__(self, root): self.root = root # 創建組件 self.entryUrl = tkinter.Entry(root,width = 30) self.entryUrl.place(x = 65, y = 15) self.get = tkinter.Button(root,text = "查詢", command = self.Get) self.get.place(x = 350, y = 15) self.add = tkinter.Button(root,text = "添加", command = self.Add) self.delete = tkinter.Button(root,text = "刪除", command = self.Del) self.add.place(x = 80, y = 55) self.delete.place(x=120,y=55) #添加布局框 下面的self.edit, self.scrollbar是插入在frame中的哦 self.frame = tkinter.Frame(root, bd=2) self.frame.place(x=200,y = 90) self.scrollbar = tkinter.Scrollbar(self.frame) self.edit = tkinter.Listbox(self.frame,yscrollcommand = self.scrollbar.set, width = 50, height = 22) self.scrollbar.config(command=self.edit.yview) self.edit.grid(row=1,column=2)#這里用了grid,可以學習一下它的用法 self.scrollbar.grid(row=1,column=3,sticky="ew") self.indicate=tkinter.Label(root,text="(Please input stock code:sh000000)",fg="red") #這里是完全沒有改動,沿用上一節 self.indicate.place(x=65,y=35) self.StockList=[] def ListUpdate(self): self.lb=tkinter.Listbox(self.root,selectmode = BROWSE) for code in self.StockList: self.lb.insert(END,code) self.lb.pack() self.lb.place(x=50,y=90) def Add(self): code = self.entryUrl.get() if re.match(r"w{2}d{6}$",code) and code not in self.StockList: self.StockList.append(code) else: pass self.ListUpdate() def Del(self): code=self.entryUrl.get() if code in self.StockList: self.StockList.remove(code) self.ListUpdate() def Get(self): if self.edit.get(0): print(self.edit.get(0)) self.edit.delete(0,END) self.edit.insert(END,["名 字","開盤價","閉盤價","最高","最低","當前價格"]) for code in self.StockList: url="http://hq.sinajs.cn/list=%s" % (code,) page=urllib.request.urlopen(url) #為什么urllib不行呢? html= page.read() #記住這樣得到的是html,必要是需要用HTMLParser解析,或者手動解析。 stock_data=html.decode("gb2312") #r = requests.get(url)#當然使用requests也是沒問題噠 #stock_data= r.text #text直接得到的就是str格式的 #stock_content=r.content.decode("gb2312")#content則需要轉換格式 hp = StockParser(stock_data,self.edit) def main(): root = tkinter.Tk() root.title("簡易股票查詢") window = Window(root) root.minsize(600,500) root.maxsize(600,500) root.mainloop() if __name__ =="__main__": main()
不足之處請見諒
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/38347.html
摘要:,庫的使用,注意已經與有了很大不同。對于下面的,定義了一些窗口屬性,接下來在代碼中我會簡單記錄一下它的用法。 這次練習的題目是實現一個簡單的RSS功能,需要了解的知識點: tkinter,在上一篇《簡單的記事本》中已經了解了一些tkinter的用法,在這里延續了上一篇,加深一下印象。 urllib,HTMLPaser庫的使用,注意python3已經與python2有了很大不同。 #...
摘要:已獲原作者授權原系列地址下面我們將以中最簡單的控件控件開始這個系列的教程在中控件用以顯示文字和圖片通常被用來展示信息而非與用戶交互譯者注也可以綁定點擊等事件只是通常不這么用程序員的教程怎么能少了我們尊重這個傳統但我們不說讓我們來秀出吧下面的 已獲原作者授權. 原系列地址: Python Tkinter Hello Tkinter Label 下面我們將以 Tkinter 中最簡單的控...
摘要:最近在練習一個關于項目的列表,拿到列表看到這是要實現一個記事本功能,剛開始拿到題目真有點懵。尤其是試驗之后發現一定要用類實現起來才簡單一些,對于這點類,,要知道本人已經接觸語言多年,但對于面向對象還是一竅不通。 最近在練習一個關于python項目的列表,拿到列表看到這是要實現一個記事本功能,剛開始拿到題目真有點懵。雖然用python實現excel的處理已經很熟悉了,且已經把python...
摘要:目標很簡單,因為我想要爬一下證券化率,然后可視化輸出結果。證券化率的基礎就是上市公司的總市值,對于證券化率其實還蠻多說法的,比如雪球的這篇文。我們可以利用這個回調函數來顯示當前的下載進度。 寫在前面的叨叨 折騰了這么久,我終于在喝完一聽快樂肥宅水后下定決心來學習寫爬蟲了。目標很簡單,因為我想要爬一下證券化率,然后可視化輸出結果。證券化率的基礎就是上市公司的總市值,對于證券化率其實還蠻多...
摘要:摘要本文是作者看慕課網學習記錄筆記,內容技術水準是入門,大佬看到請輕言指點,手下留情介紹人工智能的基本概念和邏輯體系研究兩種麵分類算法通過運用分類算法,實現只有一層的神經網絡介紹分類算法的理論基礎機器學習的本質模擬人的神經元神經元人工神經元 摘要 本文是作者看慕課網學習記錄筆記,內容技術水準是入門,大佬看到請輕言指點,手下留情 介紹人工智能的基本概念和邏輯體系 研究兩種麵分類算法 通...
閱讀 591·2021-11-22 14:45
閱讀 3083·2021-10-15 09:41
閱讀 1579·2021-10-11 10:58
閱讀 2806·2021-09-04 16:45
閱讀 2617·2021-09-03 10:45
閱讀 3247·2019-08-30 15:53
閱讀 1231·2019-08-29 12:28
閱讀 2143·2019-08-29 12:14