使用Python查詢國內 COVID-19 疫情
首先,我們使用
Tkinter
庫使我們的
可以圖形化顯示。
使用
requests
庫從 丁香園 獲取資料。
然後我們將在這種情況下顯示我們需要的資料 “當前確診人數”,“總確診人數”。
需求和安裝
ssh客戶端為:MobaXterm,因為它支援X11-Forwarding
系統: 8 Minimal
Python版本:Python3.6.8
需要用到的庫:
requests
,
json
,
tkinter
,
time
下面來安裝xorg,用來在遠端終端中開啟圖形化介面,安裝python3-tkinter來建立GUI介面:
[root@localhost data]# yum -y install xorg-x11-xauth xorg-x11-utils python3-tkinter
上
下面建立python指令碼:
[root@localhost data]# touch gui.py [root@localhost data]# chmod +x gui.py [root@localhost data]# vim gui.py #!/usr/bin/python3 # 匯入time, requests, json, tkinter庫 import time import requests import json from tkinter import * # 建立一個視窗 window = Tk() # 視窗標題為“Covid-19” window.title("Covid-19") # 視窗大小為600px * 130px window.geometry('600x130') # 建立label 1,並建立初始資訊 lbl = Label(window, text = "The number of confirmed cases in China: ....") # label窗格佔用第1列,第1行,靠左對齊。 lbl.grid(column = 1, row = 0, sticky = W) # 建立label 2,並建立初始資訊 lbl1 = Label(window, text = "Cumulative number of confirmed cases in China: ....") lbl1.grid(column = 1, row = 1, sticky = W) # 建立label 3,並建立初始資訊,用來顯示時間的。 lbl2 = Label(window, text = "Data update time: ....") lbl2.grid(column = 1, row = 3, sticky = W) # 建立label 4,並建立初始資訊,用來顯示是否重新整理。 lbl3 = Label(window, fg = 'green', text = "") lbl3.grid(column = 1, row = 4, sticky = W) # 定義一個點選事件 def clicked(): # 制定API介面的地址 url = " # 獲取url地址 page = requests.get(url) # 將json資料載入記憶體 data = json.loads(page.text) #下面4個變數用來將API中的時間戳轉化為時間。 tm = data["results"][0]["updateTime"] timeStamp = float(tm/1000) timeArray = time.localtime(timeStamp) updatetime = time.strftime("%Y-%m-%d %H:%M:%S", timeArray) # 當點選時,獲取 currentConfirmedCount 的值,因為text裡面只能用str字串,所以需要將證照型別的數字轉化為字串。 lbl.configure(text ="The number of confirmed cases in China: " + "%s" %(data["results"][0]["currentConfirmedCount"])) lbl1.configure(text ="Cumulative number of confirmed cases in China: " + "%s" %(data["results"][0]["confirmedCount"])) lbl2.configure(text ="Data update time: " + updatetime) lbl3.configure(text ="State: Refresh") # 建立一個按鈕,用來重新整理資料。 btn = Button(window, text ="Refresh", command = clicked) # 按鈕的位置在第2列,第5行。 btn.grid(column = 2, row = 5) # 顯示視窗 window.mainloop()
解釋:
-
sticky =
對齊方式的值有四個,N, S, W, E,代表著東西南北、上下左右。
執行指令碼,輸出如下內容:
[root@localhost data]# ./gui.py
點選Refresh之後,會看到獲取的資料啦。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69901823/viewspace-2844414/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- python配置使用國內源Python
- python selenium查詢網頁內容Python網頁
- Python查詢-二分查詢Python
- MongoDB查詢內嵌文件MongoDB
- Python中使用MySQL模糊查詢的方法PythonMySql
- python 國內映象Python
- linux內在檔案內查詢Linux
- python 字串查詢Python字串
- oracle查詢語句查詢增加一列內容Oracle
- 使用子查詢
- 2022年春節後這波疫情對於國內SAP諮詢行業的影響行業
- 【COVID-19中國疫情地圖】專案詳細介紹地圖
- 《COVID-19重慶市疫情》專案詳細介紹
- mysql求交集:UNION ALL合併查詢,inner join內連線查詢,IN/EXISTS子查詢MySql
- python天氣查詢Python
- [冷楓推薦]:資料庫操作,內外聯查詢,分組查詢,巢狀查詢,交叉查詢,多表查詢,語句小結。資料庫巢狀
- sqlalchemy在python中的使用(關於查詢)二SQLPython
- ubuntu 終端內查詢/搜尋Ubuntu
- MySQL內連線查詢語句MySql
- 檔案內容查詢命令(轉)
- python 國內下載地址Python
- Python模組查詢路徑Python
- [python]pymongo查詢與修改PythonGo
- Python中字串查詢方法Python字串
- 關聯查詢時使用樹狀查詢要小心
- 寶付淺談疫情下國內外跨境電商市場現狀
- 《COVID-19重慶市疫情地圖》專案詳細介紹地圖
- WebView實現頁內文字查詢功能WebView
- Linux檔案內容查詢命令Linux
- Laravel中使用ElasticSearch查詢附近2公里以內的店鋪LaravelElasticsearch
- 一個使用JDBC按Date查詢查詢的問題JDBC
- mybatis-plus 使用In查詢MyBatis
- 教你使用SQLite 子查詢SQLite
- [MYSQL -14]使用子查詢MySql
- 使用 mlocate 查詢檔案
- 使用慢查詢日誌
- 提高查詢速度使用materizlizedZed
- DBA使用者查詢