利用python爬取丁香醫生上新型肺炎資料,並下載到本地,附帶經緯度資訊
新型肺炎肆虐全國,可以預知,最近一兩年地理學中會有一部分論文研究新型肺炎的空間分佈及與其他指標的關聯分析。獲取其患病人員分佈資料,對於科學研究具有一定的指導意義,因此利用python爬取丁香醫生上實時的資料,並將其打包成exe檔案,可以本地直接執行,不需配置環境,當然爬取的資料沒有經緯度資訊,這裡我利用百度地圖開發者平臺,通過市名獲取經緯度座標。
軟體下載地址:
不帶經緯度(可用)
連結:https://pan.baidu.com/s/1ffcGv7CsaKPPDohFd03pww
提取碼:ibql
帶經緯度(受百度地圖api呼叫次數限制)
連結:https://pan.baidu.com/s/1zgPIre_39eG9iQfxTxq1Fg
提取碼:1tmi
執行效果如下:
對比丁香醫生上資料:
完整程式碼如下:
不帶經緯度程式碼:
import requests,re
import json
import time
import csv
url = 'https://service-f9fjwngp-1252021671.bj.apigw.tencentcs.com/release/pneumonia'
html = requests.get(url).text
unicodestr=json.loads(html) #將string轉化為dict
dat = unicodestr["data"].get("statistics")["modifyTime"] #獲取data中的內容,取出的內容為str
timeArray = time.localtime(dat/1000)
formatTime = time.strftime("%Y-%m-%d %H:%M", timeArray)
new_list = unicodestr.get("data").get("listByArea") #獲取data中的內容,取出的內容為str
j = 0
print("###############"
"版權所有:殷宗敏 &"
"& 資料來源:丁香醫生 "
"###############")
while j < len(new_list):
a = new_list[j]["cities"]
s = new_list[j]["provinceName"]
header = ['時間', '城市', '確診人數', '疑似病例', '死亡人數', '治癒人數' ]
with open('./'+s+'.csv', encoding='utf-8-sig', mode='w',newline='') as f:
#編碼utf-8後加-sig可解決csv中文寫入亂碼問題
f_csv = csv.writer(f)
f_csv.writerow(header)
f.close()
def save_data(data):
with open('./'+s+'.csv', encoding='UTF-8', mode='a+',newline='') as f:
f_csv = csv.writer(f)
f_csv.writerow(data)
f.close()
b = len(a)
i = 0
while i<b:
data = (formatTime)
confirm = (a[i]['confirmed'])
city = (a[i]['cityName'])
suspect = (a[i]['suspected'])
dead = (a[i]['dead'])
heal = (a[i]['cured'])
i+=1
tap = (data, city, confirm, suspect, dead, heal)
save_data(tap)
j += 1
print(s+"下載結束!")
具有經緯度功能程式碼:
import requests,re
import json
import time
import csv
from urllib.request import urlopen, quote
url = 'https://service-f9fjwngp-1252021671.bj.apigw.tencentcs.com/release/pneumonia'
html = requests.get(url).text
unicodestr=json.loads(html) #將string轉化為dict
dat = unicodestr["data"].get("statistics")["modifyTime"] #獲取data中的內容,取出的內容為str
timeArray = time.localtime(dat/1000)
formatTime = time.strftime("%Y-%m-%d %H:%M", timeArray)
url = 'http://api.map.baidu.com/geocoder/v2/'
output = 'json'
ak = 'XeCfCY777qDMTKSqyc3LTiGPnMA7fqzy'#你的ak
new_list = unicodestr.get("data").get("listByArea") #獲取data中的內容,取出的內容為str
j = 0
print("###############"
" 版權所有:殷宗敏 &"
"& 資料來源:丁香醫生 "
"###############")
while j < len(new_list):
a = new_list[j]["cities"]
s = new_list[j]["provinceName"]
header = ['時間', '城市', '確診人數', '疑似病例', '死亡人數', '治癒人數' ,'經度','緯度']
with open('./'+s+'.csv', encoding='utf-8-sig', mode='w',newline='') as f:
#編碼utf-8後加-sig可解決csv中文寫入亂碼問題
f_csv = csv.writer(f)
f_csv.writerow(header)
f.close()
def save_data(data):
with open('./'+s+'.csv', encoding='UTF-8', mode='a+',newline='') as f:
f_csv = csv.writer(f)
f_csv.writerow(data)
f.close()
b = len(a)
i = 0
while i<b:
data = (formatTime)
confirm = (a[i]['confirmed'])
city = (a[i]['cityName'])
suspect = (a[i]['suspected'])
dead = (a[i]['dead'])
heal = (a[i]['cured'])
add = quote(a[i]['cityName'])
uri = url + '?' + 'address=' + add + '&output=' + output + '&ak=' + ak # 百度地理編碼API
req = urlopen(uri)
res = req.read().decode()
temp = json.loads(res)
if temp['status'] == 1:
temp["result"] = {'location': {'lng': 0, 'lat': 0}}
lon = temp['result']['location']['lng']
lat = temp['result']['location']['lat']
i+=1
tap = (data, city, confirm, suspect, dead, heal, lon, lat)
save_data(tap)
j += 1
print(s+"下載結束!")
print("##########資料下載結束#########")
相關文章
- python爬取鬥圖啦表情包並下載到本地Python
- 利用python進行新型肺炎歷史資料下載,時間從1月24日開始至今,分省將資料下載到本地,儲存為csvPython
- Python爬蟲——批次爬取douyin影片,下載到本地Python爬蟲
- 丁香醫生:2022國民健康洞察報告(附下載)
- python 爬蟲之requests爬取頁面圖片的url,並將圖片下載到本地Python爬蟲
- Python爬取股票資訊,並實現視覺化資料Python視覺化
- 丁香醫生:代餐行業營銷洞察報告(附下載)行業
- 獲取資料庫中到指定經緯度距離的座標資料庫
- python爬取股票資料並存到資料庫Python資料庫
- Python將經緯度資料轉換成浮點資料Python
- 【從零開始學爬蟲】採集丁香醫生新冠問答資料爬蟲
- CHIMA:新冠肺炎疫情期間醫院資訊工作調查報告(附下載)
- 利用Python爬取新冠肺炎疫情實時資料,Pyecharts畫2019-nCoV疫情地圖PythonEcharts地圖
- 輕鬆利用Python爬蟲爬取你想要的資料Python爬蟲
- 利用python爬取某殼的房產資料Python
- Python爬蟲新手教程:微醫掛號網醫生資料抓取Python爬蟲
- Python爬取天氣資訊並語音播報Python
- 利用Python爬蟲獲取招聘網站職位資訊Python爬蟲網站
- 用Python爬取新型冠狀病毒肺炎實時資料,pyecharts v1.x繪製省市區疫情地圖PythonEcharts地圖
- 呼叫百度api透過經緯度獲取實際地理位置資訊API
- 利用python編寫爬蟲爬取淘寶奶粉部分資料.1Python爬蟲
- 【python】爬取疫情資料並進行視覺化Python視覺化
- python 爬蟲 5i5j房屋資訊 獲取並儲存到資料庫Python爬蟲資料庫
- python爬取北京租房資訊Python
- .NET程式獲取當前IP經緯度,並透過經緯度實現天氣查詢功能
- 房產資料爬取、智慧財產權資料爬取、企業工商資料爬取、抖音直播間資料python爬蟲爬取Python爬蟲
- python爬取qq音樂歌手排行熱度資料Python
- Python爬取全國POI資料:購物中心、餐飲、賓館、銀行、景區、快遞點和各大品牌店經緯度等資料(GeoQ)Python
- Python爬取所有人位置資訊——騰訊位置大資料!Python大資料
- Python 自動化拉取 MySQL 資料並建表裝載到 OraclePythonMySqlOracle
- 如何利用 Selenium 爬取評論資料?
- python爬蟲——爬取大學排名資訊Python爬蟲
- python爬蟲--爬取鏈家租房資訊Python爬蟲
- Python爬蟲訓練:爬取酷燃網視訊資料Python爬蟲
- Python:爬取疫情每日資料Python
- Python爬蟲之小說資訊爬取與資料視覺化分析Python爬蟲視覺化
- 【python爬蟲案例】利用python爬取豆瓣電影TOP250評分排行資料!Python爬蟲
- mapbox獲取各種經緯度