python 爬取疫情資料並進行視覺化

2021-10-09 18:12:04 字數 2547 閱讀 3220

'''

課題:爬取疫情資料 進行視覺化

第一步:爬蟲爬取疫情資料

第二步:實現資料的視覺化

'''import time

import json

import requests

import pandas as pd

url = r''

%int

(time.time()*

1000

)html = requests.get(url)

html.json(

)#將json轉化成dict形式

data = json.loads(html.json()[

'data'])

china_data = data[

'areatree'][

0]['children'

]data_set =

for i in china_data:

data_dict =

data_dict[

'province'

]= i[

'name'

] data_dict[

'nowconfirm'

]= i[

'total'][

'nowconfirm'

] data_dict[

'confirm'

]= i[

'total'][

'confirm'

] data_dict[

'dead'

]= i[

'total'][

'dead'

] data_dict[

'heal'

]= i[

'total'][

'heal'

] data_dict[

'deadrate'

]= i[

'total'][

'deadrate'

] data_dict[

'healrate'

]= i[

'total'][

'healrate'

]df = pd.dataframe(data_set)

#生成dataframe資料 (類似**資料)

df.to_csv(

'epidemic_data.csv'

)#儲存到本地的csv資料

# 資料視覺化 matplotlib pyecharts(好看)

from pyecharts import options as opts

from pyecharts.charts import bar, line, pie, grid, map

df2 = df.sort_values(by =

['nowconfirm'

], ascending=

false)[

:5]print

(df2)

#將dateframe轉換成list

df2 =

[list

(i)for i in

zip(df2[

'province'

].values.tolist(

), df2[

'nowconfirm'

].values.tolist())

]#畫餅圖並儲存html檔案至當前目錄

pie =

( pie(

).add("",

df2,

radius=

["10%"

,"30%"])

.set_global_opts(

legend_opts=opts.legendopts(orient=

"vertical"

, pos_top=

"70%"

, pos_left=

"70%"),

).set_series_opts(label_opts=opts.labelopts(formatter=

": "))

)pie.render(

)#儲存html檔案至當前目錄

china_map =

( map(

).add(

"現有確診"

, df2)

.set_global_opts(

title_opts=opts.titleopts(title=

"各地區確診人數"

, pos_top=

"48%"

, pos_left=

"65%"),

visualmap_opts=opts.visualmapopts(max_=

200, is_piecewise=

true),

legend_opts=opts.legendopts(pos_left=

"90%"

, pos_top=

"60%"))

)china_map.render(

'china_map.html'

)

使用Python進行疫情資料爬取

為了使用python學習爬取疫情資料,提前學習了python中的語法和各種儲存結構 dirt 若沒有這些基礎很難看懂python 更別提寫了 放入要爬的url url 設定header做乙個防爬機制 獲取response的json response requests.get url,headers ...

Python爬取疫情資料

實現 輸出結果 import requests 請求庫 import pandas as pd 日期 today time.strftime y m d time.localtime format y 年 m 月 d 日 url 請求頭 headers 傳送請求 response requests....

搜狗 疫情資料爬取(Python)

上週已經分享過搜狗 疫情資料爬取 r語言 這次分享一下搜狗 疫情資料爬取 python from urllib import request from lxml import etree import re import pandas as pd import json url response r...