import datetime
import json
import re
import pandas as pd
import requests
from bs4 import BeautifulSoup
from sqlalchemy import create_engine
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36'
}
con = create_engine("mysql+mysqlconnector://root:147123@localhost:3306/ksh")
# 历史数据
def lishishuju():
df = pd.read_csv('demo/csv/丁香园国内疫情.csv', engine='c') # 读取数据
df = df.sort_values('累计确诊', ascending=False) # 根据累计确诊去排序-降序
df = df.drop_duplicates('省份', keep='first') # 根据省份去重,取第一次出现的数据
df['省份'] = df['省份'].str.strip('省').str.strip('市').str.strip('壮族自治区').str.strip('自治区').str.strip('回族自治区').str.strip('维吾尔自治区')
url = 'https://api.inews.qq.com/newsqa/v1/query/pubished/daily/list?province=湖北'
data = json.loads(requests.get(url, headers=headers).content.decode())['data']
for i in df['省份']:
if i != '湖北':
url = 'https://api.inews.qq.com/newsqa/v1/query/pubished/daily/list?province=' + i
x = json.loads(requests.get(url).content.decode())['data']
data = data + x
def funx(x):
if len(x) == 3:
x = x + '0'
return x
df = pd.DataFrame(data)
x = df['year'].astype('str') + '.'
y = (df['date'].astype('str'))
y = y.apply(lambda x: funx(x))
df['dateId'] = x + y
df['dateId'] = pd.DatetimeIndex(df['dateId']).astype('str').str[:7]
df.to_csv('demo/csv/国内疫情数据.csv', index=False, encoding='utf-8-sig')
df.to_sql('gnlssj', if_exists='replace', con=con, index=False)
con.execute('ALTER TABLE gnlssj ADD id INT(16) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST;') # 添加自增字段id
# 中国今日疫情情况
def yqday():
url = 'https://api.inews.qq.com/newsqa/v1/query/inner/publish/modules/list?modules=statisGradeCityDetail,diseaseh5Shelf'
data = json.loads(requests.post(url=url, headers=headers).content.decode())['data']
x = data['statisGradeCityDetail']
y = []
for i in x:
j = [i['province'] + i['city'], i['confirmAdd'], i['nowConfirm'], i['grade']]
y.append(j)
x = ['address', 'addqz', 'xyqz', 'fxqy']
# 使用create_engine + pandas 快捷保存数据库
df = pd.DataFrame(y, columns=x)
df.to_sql('bentuxianyou31', if_exists='replace', con=con, index=False)
con.execute('ALTER TABLE bentuxianyou31 ADD id INT(16) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST;') # 添加自增字段id
with open('demo/data/中国疫情.json', 'w', encoding='utf-8') as f:
f.write(json.dumps(data, ensure_ascii=False, indent=4))
pd.DataFrame(y).to_csv('demo/csv/近31省市区现有本土病例.csv', index=False, encoding='utf-8', header=x)
# 使用create_engine + pandas 快捷保存数据库
# 中国每日疫情
def yqveryday():
url = 'https://file1.dxycdn.com/2021/1228/171/2851867762198723253-135.json?t=27344362' # url
head_data = requests.get(url=url, headers=headers).content # 获取数据
data = json.loads(head_data)['data'] # 把取到的数据返回
# 使用pandas快捷保存csv
pd.DataFrame(data).to_csv('demo/csv/丁香园国内每日疫情情况.csv', encoding='utf-8', index=False)
pd.DataFrame(data).to_sql('mrsj', if_exists='replace', con=con, index=False)
con.execute('ALTER TABLE mrsj ADD id INT(16) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST;') # 添加自增字段id
# 实时热点
def ssrd():
url = 'https://opendata.baidu.com/data/inner?tn=reserved_all_res_tn&dspName=iphone&from_sf=1&dsp=iphone&resource_id=28565&alr=1&query=%E5%9B%BD%E5%86%85%E6%96%B0%E5%9E%8B%E8%82%BA%E7%82%8E%E6%9C%80%E6%96%B0%E5%8A%A8%E6%80%81&cb=jsonp_1642854207390_27502'
data = json.loads(requests.get(url=url, headers=headers).content.decode().split('(')[1][:-1])['Result'][0]['DisplayData']['result'][
'items']
with open('demo/data/实时热点.json', 'w', encoding='utf-8') as f:
f.write(json.dumps(data, ensure_ascii=False, indent=4))
pd.DataFrame(data).to_sql('ssrd', if_exists='replace', con=con, index=False)
con.execute('ALTER TABLE ssrd ADD id INT(16) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST;') # 添加自增字段id
# 国内各省目前疫情
def parse():
data = [] # 定义全局列表t
data1 = []
url = 'https://ncov.dxy.cn/ncovh5/view/pneumonia' # url
head_data = requests.get(url=url, headers=headers).content # 获取数据
res = BeautifulSoup(head_data, 'html.parser') # 利用bs4解析数据
res = res.find('script', {'id': 'getAreaStat'}).text # 利用bs4获取国内的数据
res = re.findall('try \{ window.getAreaStat = (.*)}catch', res, re.S)[0] # 利用正则表达式先取得里面的所有数据
res = re.findall('\{(.*?)]}', res) # 利用正则表达式再去取每个省的数据
for i in res:
provinceName = re.findall('"provinceName":"(.*?)"', i) # 取省份名
cityName = re.findall('"cityName":"(.*?)"', i) # 取城市名
if len(cityName) == 0: # 判断城市的长度是否为0
cityName = provinceName # 为零则把城市 = 省份 方便后面的保存
else:
cityName.insert(0, provinceName[0]) # 在城市列表最开始的位置插入省份名
currentConfirmedCount = re.findall('"currentConfirmedCount":(.*?),', i) # 取现有确诊
confirmedCount = re.findall('"confirmedCount":(.*?),', i) # 去取累计确诊
curedCount = re.findall('"curedCount":(.*?),', i) # 取累计治愈
deadCount = re.findall('"deadCount":(.*?),', i) # 取累计死亡
for i in range(0, len(currentConfirmedCount)): # 遍历存到列表t
data.append({
'provinceName': cityName[0],
'cityName': cityName[i],
'currentConfirmedCount': currentConfirmedCount[i],
'confirmedCount': confirmedCount[i],
'curedCount': curedCount[i],
'deadCount': deadCount[i],
})
for i in range(0, len(currentConfirmedCount)): # 遍历存到列表t
data1.append({
'省份': cityName[0],
'城市': cityName[i],
'现有确诊': currentConfirmedCount[i],
'累计确诊': confirmedCount[i],
'累计治愈': curedCount[i],
'累计死亡': deadCount[i],
})
pd.DataFrame(data1).to_csv('demo/csv/丁香园国内疫情.csv', encoding='utf-8', index=False)
pd.DataFrame(data).to_sql('xyyq', if_exists='replace', con=con, index=False)
con.execute('ALTER TABLE xyyq ADD id INT(16) NOT NULL PRIMARY KEY AUTO_INCREMENT FIRST;') # 添加自增字段id
# 风险地区
def fxdq():
url = 'https://file1.dxycdn.com/2021/0202/196/1680100273140422643-135.json'
resdata = json.loads(requests.get(url, headers=headers).content.decode())['data']
fxlevel = ['高风险', '中风险']
data = {
'code': 200,
'data': []
}
for i in range(len(resdata)):
tt = i
res = resdata[i]['dangerPros']
x = []
for i in range(len(res)):
for j in res[i]["dangerAreas"]:
x.append({
"provinceName": res[i]["provinceShortName"],
"cityName": j["cityName"],
"areaName": j["areaName"],
})
df = pd.DataFrame(x)
df['全称'] = df['provinceName'] + df['cityName'] + df['areaName']
df['address'] = df['provinceName'] + df['cityName']
data['data'].append({'风险等级': fxlevel[tt], '数量': len(df), '地区': [
没有合适的资源?快使用搜索试试~ 我知道了~
流感检测源码,深度学习项目
共66个文件
pyc:25个
py:17个
csv:8个
需积分: 0 1 下载量 105 浏览量
2024-08-05
20:29:29
上传
评论
收藏 2.06MB ZIP 举报
温馨提示
流感检测源码,深度学习项目 【项目资源】:包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。包括STM32、ESP8266、PHP、QT、Linux、iOS、C++、Java、python、web、C#、EDA、proteus、RTOS等项目的源码。 【项目质量】:所有源码都经过严格测试,可以直接运行。功能在确认正常工作后才上传。 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【附加价值】:项目具有较高的学习借鉴价值,也可直接拿来修改复刻。对于有一定基础或热衷于研究的人来说,可以在这些基础代码上进行修改和扩展,实现其他功能。 【沟通交流】:有任何使用上的问题,欢迎随时与博主沟通,博主会及时解答。鼓励下载和使用,并欢迎大家互相学习,共同进步。
资源推荐
资源详情
资源评论
收起资源包目录
COVID-19-KSH.zip (66个子文件)
demo
__init__.py 0B
tests.py 63B
admin.py 66B
ksh.py 9KB
migrations
__init__.py 0B
__pycache__
__init__.cpython-37.pyc 205B
__init__.cpython-36.pyc 197B
data
中风险.json 7KB
实时热点.json 9KB
中国疫情.json 460KB
UpdateTime.json 71B
高风险.json 1KB
风险地区.json 4KB
apps.py 88B
models.py 7KB
pachong.py 11KB
csv
近2个月累计情况.csv 5KB
国内疫情数据.csv 1.92MB
丁香园世界疫情.csv 12KB
丁香园每日世界疫情数据.csv 52KB
近31省市区现有本土病例.csv 2KB
丁香园国内每日疫情情况.csv 39KB
丁香园国内疫情.csv 15KB
近2个月新增情况.csv 3KB
urls.py 1KB
__pycache__
urls.cpython-36.pyc 1KB
admin.cpython-36.pyc 227B
views.cpython-36.pyc 4KB
serializer.cpython-36.pyc 1KB
pachong.cpython-37.pyc 8KB
ksh.cpython-36.pyc 7KB
ksh.cpython-37.pyc 7KB
views.cpython-37.pyc 4KB
admin.cpython-37.pyc 189B
serializer.cpython-37.pyc 1KB
models.cpython-37.pyc 5KB
__init__.cpython-37.pyc 148B
__init__.cpython-36.pyc 186B
urls.cpython-37.pyc 1KB
models.cpython-36.pyc 5KB
views.py 3KB
serializer.py 956B
templates
index.html 4KB
manage.py 555B
keshihua
__init__.py 91B
wsgi.py 409B
urls.py 1KB
celery.py 469B
settings.py 4KB
__pycache__
urls.cpython-36.pyc 1KB
celery.cpython-37.pyc 548B
settings.cpython-36.pyc 3KB
settings.cpython-37.pyc 3KB
__init__.cpython-37.pyc 252B
__init__.cpython-36.pyc 310B
wsgi.cpython-37.pyc 557B
urls.cpython-37.pyc 1KB
static
font
LcdD.ttf 54KB
js
chalk.js 5KB
china.js 59KB
echarts.min.js 762KB
index.js 9KB
jquery.min.js 84KB
css
ssbb.css 3KB
2.css 3KB
video
1.mp4 1.45MB
共 66 条
- 1
资源评论
聚财猫猫
- 粉丝: 248
- 资源: 221
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功