1.要求:
1.程式設計爬取每日最新的疫情統計資料。
2.並將爬取結果匯入到資料庫中。
3.將視覺化結果與統計資料結合,實時顯示當前最新資料。
2.截圖:
#開發人員:mr-wildfire##
檔名稱web_crawler.py
#開發工具pycharm
import
requests
import
time, json
import
sysimport
pymysql
defget_wangyi_request():
url = '
'headers =
result = requests.get(url, headers=headers)
return
result
defprint_mess1(string: str, dict1total: dict):
sys.stdout.write(string + '
確診:
' + str(dict1total['
confirm
'] if dict1total['
confirm
'] != none else
0)) sys.stdout.write(''
) sys.stdout.write(string + '
疑似:
' + str(dict1total['
suspect
'] if dict1total['
suspect
'] != none else
0)) sys.stdout.write(''
) sys.stdout.write(string + '
**:
' + str(dict1total['
heal
'] if dict1total['
heal
'] != none else
0)) sys.stdout.write(''
) sys.stdout.write(string + '
死亡:
' + str(dict1total['
dead
'] if dict1total['
dead
'] != none else
0))if
__name__ == '
__main__':
result =get_wangyi_request()
json_str = json.loads(result.text)['
data']
#print(json_str.keys())
#dict_keys(['chinatotal', 'chinadaylist', 'lastupdatetime', 'areatree'])
print(json_str['
lastupdatetime'])
province_list = json_str['
areatree
'][0]['
children']
#每個省份包含如下的鍵
#dict_keys(['today', 'total', 'extdata', 'name', 'id', 'lastupdatetime', 'children'])
conn =pymysql.connect(
host='
localhost
', #
我的ip位址
port=3306, #
不是字串不需要加引號。
user='
root',
password='
20000604',
db='
database',
charset='
utf8')
cursor = conn.cursor() #
獲取乙個游標
id =0;
for dict in
province_list:
sql = '
insert into pachong1 (province,total_confirm,total_suspect,total_heal,total_dead,today_confirm,today_suspect,today_heal,today_dead,today_lastupdate,id) values (%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);
'province=dict['
name']
total_confirm=dict['
total
']['
confirm']
total_suspect=dict['
total
']['
suspect']
total_heal=dict['
total
']['
heal']
total_dead=dict['
total
']['
dead']
today_confirm=dict['
today
']['
confirm']
today_suspect=dict['
today
']['
suspect']
today_heal=dict['
today
']['
heal']
today_dead=dict['
today
']['
dead']
today_lastupdate= dict['
lastupdatetime']
id=id+1sys.stdout.write( dict[
'name
'] + '')
cursor.execute(sql, [province,total_confirm, total_suspect,total_heal,total_dead,today_confirm,today_suspect,today_heal,today_dead,today_lastupdate,id])
() conn.commit()
cursor.close()
conn.close()
軟體工程個人作業3
2.按照 構建之法 13.1節描述的bug定義,找出幾個功能性比較嚴重的 bug,至少2個。第一次登入的時候,選擇了下次自動登入,但是退出登入之後,並沒有儲存上次登入的使用者名稱和密碼,還是需要再一次手動輸入登入,下面的截圖時間前後差距一分鐘,用來作對比,這個應該算是乙個bug了 選擇時候的介面 返...
軟體工程基礎 第 3 次個人作業
bug markdown 編輯器的 檢視自動儲存內容 忽略顯示空白字元,導致排版混亂。雖然可以正確恢復內容,但是卻沒有顯示為原本的樣子。缺乏細節的 ui 整體功能還是不錯的,有正常部落格具有的一切要素,但是必須要說的一點是 ui 實在是太簡單了。根據官方簡介,該 創辦於 2004 年一月。這點從它現...
網路15軟工個人作業5 軟體工程總結
2018 6 18 22 00pm,以部落格提交至班級部落格時間為準 軟體工程即將結束,布置結束前最後一次作業 參考來自 一 請回望開學時的第一次作業,你對於軟體工程課程的想象 對比開篇部落格你對課程目標和期待,希望通過實踐鍛鍊,增強計算機專業的能力和就業競爭力 對比目前的所學所練所得,在哪些方面達...