post方式,接口地址:
调用案例截:
因为系统是使用springboot+前端组成的。数据来源除了可视化大屏外,其余都要从本地数据库获取。
该接口比较稳定调用不需要传入url参数采用的是腾讯新闻的数据
世界:
这三个表分别是省份疫情数据、城市疫情数据、境外输入等数据
等待返回信息:
{
'returnCode': '000000',
'returnMsg': '本地数据插入成功!',
'isUpdated': '1',
'updateCount': '60条数据',
'cost': '更新耗时10秒!'
}
covid19_1数据库表包含了自20201119以来到昨天为止的所有数据
响应:
{
'returnCode': '000000',
'returnMsg': '清空表操作成功!'
}
也不需要url参数直接调用就行
打开postman工具
调用后耐心等待,返回信息
{
'returnCode': '000000',
'returnMsg': '本地数据插入成功!',
'isUpdated': '1',
'updateCount': '724',
'cost': '更新耗时130秒!'
}
可以看出花了5s
post方式,接口地址:
这个接口的输入参数有两个,主要用来清空指定的表,例如清空covid19_0表数据
后续还会有ui界面的设计介绍,有问题私信~
。策略是爬取后,之后再调用接口采用更新的方式。如果出现失败,建议手动清空covid19_0表的数据,无数据情况下调用改接口会直接插入,但耗时较久。
这时候再去数据库查看这个数据库表数据已经被清空了
爬虫并更新covid19_1表接口
等待响应:
{
'returnCode': '000000',
'returnMsg': '本地数据插入成功!',
'isUpdated': '1',
'updateCount': '951条数据',
'cost': '更新耗时5秒!'
}
数据遵从真实性原则,从丁香园、腾讯新闻获取了最新数据。并优化形成了接口,调用接口即可更新本地数据库数据。
优化了日志打印:soutlog
covid19_0表是中国近两个月来的数据
调用花了两分钟,可以去看数据库的数据发现数据已经更新了。
请求报文:
{
'tableName':'covid19_1',
'isToTruncate':'true'
}
可视化大屏演示:中国:
上传sql脚本
修改爬虫程序:Main类接口post
post方式请求地址:
可以看到更新数据花了10s时间
https://ncov.dxy.cn/ncovh5/view/pneumonia->F12->Network->all->刷新一下页面—>xxx6json下面的xxx13json—>headers->RequestURL就是我们需要的
//例如 这个是2022/1/16 日爬取的地址
{
'url':'https://file1.dxycdn.com/2022/0116/819/3281690948332086253-135.json?t=27371983'
}
清空指定表名接口
启动crawler包下的DatasourceApplicatiojava,启动本地服务先查看本地系统启动后最终截:
项目gitee地址:系统
爬取并更新covid19_0表接口
json参数(url参数为丁香园医生网站里的接口):
爬取并更新covid19_234表接口
打开postman,采用post方式,输入url:
本文档针对不少对echarts展示疫情数据的同学编写,主要讲了这个项目对数据的爬取、存入数据库中的操作后续会出ui界面的文档由于最近有不少同学c站私信我源码,所以这两天维护了下代码;
接下来介绍这四个爬虫接口的使用:
文章为作者独立观点,不代表股票交易接口观点