利用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 爬蟲之requests爬取頁面圖片的url,並將圖片下載到本地Python爬蟲
- 獲取資料庫中到指定經緯度距離的座標資料庫
- 全國城市經緯度資料
- Python爬取股票資訊,並實現視覺化資料Python視覺化
- 利用Python爬蟲爬取天氣資料Python爬蟲
- .NET程式獲取當前IP經緯度,並透過經緯度實現天氣查詢功能
- 【從零開始學爬蟲】採集丁香醫生新冠問答資料爬蟲
- [Python Scrapy爬蟲] 二.翻頁爬取農產品資訊並儲存本地Python爬蟲
- [Python學習] 簡單爬取CSDN下載資源資訊Python
- Python將經緯度資料轉換成浮點資料Python
- Python網路爬蟲——模擬登陸爬取網站資料並載入到excl表格裡Python爬蟲網站
- python爬取股票資料並存到資料庫Python資料庫
- 常用經緯度轉換為ntu經緯度
- 用Python爬取新型冠狀病毒肺炎實時資料,pyecharts v1.x繪製省市區疫情地圖PythonEcharts地圖
- 利用Python爬取新冠肺炎疫情實時資料,Pyecharts畫2019-nCoV疫情地圖PythonEcharts地圖
- 利用python爬取58同城簡歷資料Python
- 利用python爬取某殼的房產資料Python
- 輕鬆利用Python爬蟲爬取你想要的資料Python爬蟲
- 呼叫百度api透過經緯度獲取實際地理位置資訊API
- Python爬取全國POI資料:購物中心、餐飲、賓館、銀行、景區、快遞點和各大品牌店經緯度等資料(GeoQ)Python
- CLI使用案例3:輕鬆跨庫查詢資料並下載到本地
- 利用python編寫爬蟲爬取淘寶奶粉部分資料.1Python爬蟲
- 爬蟲 Scrapy框架 爬取圖蟲圖片並下載爬蟲框架
- 使用google map v3新增經緯度資訊Go
- java百度地圖介面呼叫獲取經緯度Java地圖
- Python爬取天氣資訊並語音播報Python
- 經緯度轉換
- python 爬蟲 5i5j房屋資訊 獲取並儲存到資料庫Python爬蟲資料庫
- 【python】爬取疫情資料並進行視覺化Python視覺化
- 百度:新型冠狀病毒肺炎搜尋大資料包告-復工篇大資料
- python爬取qq音樂歌手排行熱度資料Python
- 利用Python爬蟲獲取招聘網站職位資訊Python爬蟲網站
- [python爬蟲] 招聘資訊定時系統 (一).BeautifulSoup爬取資訊並儲存MySQLPython爬蟲MySql
- Python爬蟲之小說資訊爬取與資料視覺化分析Python爬蟲視覺化
- 房產資料爬取、智慧財產權資料爬取、企業工商資料爬取、抖音直播間資料python爬蟲爬取Python爬蟲