Python爬蟲爬取疫情數(shù)據(jù)并可視化展示
知識(shí)點(diǎn)
- 爬蟲基本流程
- json
- requests 爬蟲當(dāng)中 發(fā)送網(wǎng)絡(luò)請(qǐng)求
- pandas 表格處理 / 保存數(shù)據(jù)
- pyecharts 可視化
開(kāi)發(fā)環(huán)境
python 3.8 比較穩(wěn)定版本 解釋器發(fā)行版 anaconda jupyter notebook 里面寫數(shù)據(jù)分析代碼 專業(yè)性
pycharm 專業(yè)代碼編輯器 按照年份與月份劃分版本的
爬蟲完整代碼
導(dǎo)入模塊
import requests # 發(fā)送網(wǎng)絡(luò)請(qǐng)求模塊 import json import pprint # 格式化輸出模塊 import pandas as pd # 數(shù)據(jù)分析當(dāng)中一個(gè)非常重要的模塊
分析網(wǎng)站
先找到今天要爬取的目標(biāo)數(shù)據(jù)
https://news.qq.com/zt2020/page/feiyan.htm#/
找到數(shù)據(jù)所在url
發(fā)送請(qǐng)求
url = 'https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&_=1638361138568' response = requests.get(url, verify=False)
獲取數(shù)據(jù)
json_data = response.json()['data']
解析數(shù)據(jù)
json_data = json.loads(json_data) china_data = json_data['areaTree'][0]['children'] # 列表 data_set = [] for i in china_data: data_dict = {} # 地區(qū)名稱 data_dict['province'] = i['name'] # 新增確認(rèn) data_dict['nowConfirm'] = i['total']['nowConfirm'] # 死亡人數(shù) data_dict['dead'] = i['total']['dead'] # 治愈人數(shù) data_dict['heal'] = i['total']['heal'] # 死亡率 data_dict['deadRate'] = i['total']['deadRate'] # 治愈率 data_dict['healRate'] = i['total']['healRate'] data_set.append(data_dict)
保存數(shù)據(jù)
df = pd.DataFrame(data_set) df.to_csv('data.csv')
數(shù)據(jù)可視化
導(dǎo)入模塊
from pyecharts import options as opts from pyecharts.charts import Bar,Line,Pie,Map,Grid
讀取數(shù)據(jù)
df2 = df.sort_values(by=['nowConfirm'],ascending=False)[:9] df2
死亡率與治愈率
line = ( Line() .add_xaxis(list(df['province'].values)) .add_yaxis("治愈率", df['healRate'].values.tolist()) .add_yaxis("死亡率", df['deadRate'].values.tolist()) .set_global_opts( title_opts=opts.TitleOpts(title="死亡率與治愈率"), ) ) line.render_notebook()
?
各地區(qū)確診人數(shù)與死亡人數(shù)情況
bar = ( Bar() .add_xaxis(list(df['province'].values)[:6]) .add_yaxis("死亡", df['dead'].values.tolist()[:6]) .add_yaxis("治愈", df['heal'].values.tolist()[:6]) .set_global_opts( title_opts=opts.TitleOpts(title="各地區(qū)確診人數(shù)與死亡人數(shù)情況"), datazoom_opts=[opts.DataZoomOpts()], ) ) bar.render_notebook()
以上就是Python爬蟲爬取疫情數(shù)據(jù)并可視化展示的詳細(xì)內(nèi)容,更多關(guān)于Python爬取數(shù)據(jù) 可視化展示的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
python如何將多個(gè)模型的ROC曲線繪制在一張圖(含圖例)
這篇文章主要給大家介紹了關(guān)于python如何將多個(gè)模型的ROC曲線繪制在一張圖的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-02-02python函數(shù)局部變量、全局變量、遞歸知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家整理了關(guān)于python函數(shù)局部變量、全局變量、遞歸知識(shí)點(diǎn),有興趣的朋友們學(xué)習(xí)參考下。2019-11-11Python腳本實(shí)現(xiàn)下載合并SAE日志
這篇文章主要介紹了Python腳本實(shí)現(xiàn)下載合并SAE日志,本文講解了代碼編寫過(guò)程,然后給出了完整代碼,需要的朋友可以參考下2015-02-02Python3實(shí)現(xiàn)獲取圖片文字里中文的方法分析
這篇文章主要介紹了Python3實(shí)現(xiàn)獲取圖片文字里中文的方法,結(jié)合實(shí)例形式分析了Python基于文字識(shí)別引擎tesseract-ocr針對(duì)圖片里中文識(shí)別的相關(guān)操作技巧與操作注意事項(xiàng),需要的朋友可以參考下2018-12-12Python一文入門Flask?Blueprint?SQLAlchemy部分詳解
這篇文章主要為大家介紹了Python一文入門Flask?Blueprint?SQLAlchemy部分詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03python實(shí)現(xiàn)簡(jiǎn)單多人聊天室
這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)簡(jiǎn)單多人聊天室功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-12-12python和websocket構(gòu)建實(shí)時(shí)日志跟蹤器的步驟
這篇文章主要介紹了python和websocket構(gòu)建實(shí)時(shí)日志跟蹤器的步驟,幫助大家更好的理解和學(xué)習(xí)使用python,感興趣的朋友可以了解下2021-04-04用python打印1~20的整數(shù)實(shí)例講解
在本篇內(nèi)容中小編給大家分享了關(guān)于python打印1~20的整數(shù)的具體步驟以及實(shí)例方法,需要的朋友們參考下。2019-07-07