《軟體工程》個人作業3 網路爬蟲爬取疫情資料

2022-05-02 06:09:09 字數 3402 閱讀 6520

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])

print

() 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,以部落格提交至班級部落格時間為準 軟體工程即將結束,布置結束前最後一次作業 參考來自 一 請回望開學時的第一次作業,你對於軟體工程課程的想象 對比開篇部落格你對課程目標和期待,希望通過實踐鍛鍊,增強計算機專業的能力和就業競爭力 對比目前的所學所練所得,在哪些方面達...