毕业设计:python全国天气气象数据爬取分析可视化系统+大屏+大数据(源码(1)

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

用户管理页面

@app.route(‘/html/user’)
def user_manager():
return render_template(‘html/user.html’)

获取用户数据分页

@app.route(‘/user/list’, methods=[“POST”])
def user_list():
get_data = request.form.to_dict()
page_size = get_data.get(‘page_size’)
page_no = get_data.get(‘page_no’)
param = get_data.get(‘param’)
data, count, page_list, max_page = user_service.get_user_list(int(page_size), int(page_no), param)
return jsonify({“data”: data, “count”: count, “page_no”: page_no, “page_list”: page_list, “max_page”: max_page})

注册用户数据

@app.route(‘/user/reg’, methods=[“POST”])
def user_reg():
get_data = request.form.to_dict()
name = str(get_data.get(‘username’))
account = str(get_data.get(‘account’))
password = str(get_data.get(‘password’))
company = “平台注册”
phone = " "
mail = " "
type = 1
return user_service.add_user(name, account, password, company, phone, mail, type)

添加用户数据

@app.route(‘/user/add’, methods=[“POST”])
def user_add():
get_data = request.form.to_dict()
name = get_data.get(‘name’)
account = get_data.get(‘account’)
password = get_data.get(‘password’)
company = get_data.get(‘company’)
phone = get_data.get(‘phone’)
mail = get_data.get(‘mail’)
type = get_data.get(‘type’)
return user_service.add_user(name, account, password, company, phone, mail, type)

修改用户数据

@app.route(‘/user/edit’, methods=[“PUT”])
def user_edit():
get_data = request.form.to_dict()
id = get_data.get(‘id’)
name = get_data.get(‘name’)
password = get_data.get(‘password’)
company = get_data.get(‘company’)
phone = get_data.get(‘phone’)
mail = get_data.get(‘mail’)
type = get_data.get(‘type’)
user_service.edit_user(id, name, password, company, phone, mail, type)
return ‘200’

删除用户数据

@app.route(‘/user/delete’, methods=[“DELETE”])
def user_delete():
get_data = request.form.to_dict()
id = get_data.get(‘id’)
user_service.del_user(id)
return ‘200’

-----------------用户管理模块END-----------------

-----------------系统版本管理模块START-----------------

系统版本管理页面

@app.route(‘/html/version’)
def version_manager():
return render_template(‘html/version.html’)

获取系统版本

@app.route(‘/version/show’, methods=[“POST”])
def version_show():
res = version_data.get_sys_version()
return jsonify({“data”: res})

获取系统版本数据分页

@app.route(‘/version/list’, methods=[“POST”])
def version_list():
get_data = request.form.to_dict()
page_size = get_data.get(‘page_size’)
page_no = get_data.get(‘page_no’)
param = get_data.get(‘param’)
data, count, page_list, max_page = version_data.get_sys_version_list(int(page_size), int(page_no), param)
return jsonify({“data”: data, “count”: count, “page_no”: page_no, “page_list”: page_list, “max_page”: max_page})

新增系统版本数据

@app.route(‘/version/add’, methods=[“POST”])
def sys_version_add():
get_data = request.form.to_dict()
name = get_data.get(‘name’)
version = get_data.get(‘version’)
return version_data.add_sys_version(name, version)

修改系统版本数据

@app.route(‘/version/edit’, methods=[“PUT”])
def version_edit():
get_data = request.form.to_dict()
id = get_data.get(‘id’)
name = get_data.get(‘name’)
version = get_data.get(‘version’)
version_data.edit_sys_version(id, name, version)
return ‘200’

删除系统版本数据

@app.route(‘/version/delete’, methods=[“DELETE”])
def version_delete():
get_data = request.form.to_dict()
id = get_data.get(‘id’)
version_data.del_sys_version(id)
return ‘200’

-----------------系统版本管理模块END-----------------

-------------前台天气大数据页面相关服务接口start-----------------

城市天气数量统计

@app.route(‘/main/total’)
def get_total_data():
return view_data.get_weathers_total_data()

城市空气SQL数量统计

@app.route(‘/main/aqi’)
def get_AQI_data():
return view_data.get_AQI_total_data()

城市风力分布统计

@app.route(‘/main/ws’)
def get_ws_data():
return view_data.get_ws_total_data()

城市风向分布统计

@app.route(‘/main/wd’)
def get_wd_data():
return view_data.get_wd_total_data()

北京实时气温以及风俗变化

@app.route(‘/main/bgt’)
def get_bg_data():
return view_data.get_bg_total_data()

获取轮播数据

@app.route(‘/main/qgsk’)
def get_qgsk_data():
return view_data.get_qg_total_data()

-------------前台天气大数据页面相关服务接口end-----------------

-------------天气数据管理相关服务接口Start-----------------

天气数据管理页面

@app.route(‘/html/weather’)
def new():
return render_template(‘html/weathers.html’)

获取天气数据分页

@app.route(‘/weather/list’, methods=[“POST”])
def weathers_list():
get_data = request.form.to_dict()
page_size = get_data.get(‘page_size’)
page_no = get_data.get(‘page_no’)
param = get_data.get(‘param’)
data, count, page_list, max_page = weathers_data.get_weathers_list(int(page_size), int(page_no), param)
return jsonify({“data”: data, “count”: count, “page_no”: page_no, “page_list”: page_list, “max_page”: max_page})

修改天气数据

@app.route(‘/weather/edit’, methods=[“POST”])
def old_edit():
get_data = request.form.to_dict()
id = get_data.get(‘id’)
temp = get_data.get(‘temp’)
wd = get_data.get(‘wd’)
ws = get_data.get(‘ws’)
wse = get_data.get(‘wse’)
sd = get_data.get(‘sd’)
weather = get_data.get(‘weather’)
weathers_data.edit_weathers(id, temp, wd, ws, wse, sd, weather)
return ‘200’

修改天气数据

@app.route(‘/weather/del’, methods=[“PUT”])
def old_del():
get_data = request.form.to_dict()
id = get_data.get(‘id’)
weathers_data.del_weathers(id)
return ‘200’

-------------天气数据管理相关服务接口end-----------------

from concurrent.futures import ThreadPoolExecutor

----------------------爬虫/爬虫日志模块-开始----------------------

from concurrent.futures import ThreadPoolExecutor

爬虫日志页面

@app.route(‘/html/slog’)
def slog_manager():
return render_template(‘html/slog.html’)

获取爬虫日志数据分页

@app.route(‘/slog/list’, methods=[“POST”])
def slog_list():
get_data = request.form.to_dict()
page_size = get_data.get(‘page_size’)
page_no = get_data.get(‘page_no’)
param = get_data.get(‘param’)
data, count, page_list, max_page = slog_data.get_slog_list(int(page_size), int(page_no), param)
return jsonify({“data”: data, “count”: count, “page_no”: page_no, “page_list”: page_list, “max_page”: max_page})

修改爬虫日志数据

@app.route(‘/slog/edit’, methods=[“PUT”])
def slog_edit():
get_data = request.form.to_dict()
id = get_data.get(‘id’)
log = get_data.get(‘log’)
slog_data.edit_slog(id, log)
return ‘200’

删除爬虫日志数据

@app.route(‘/slog/delete’, methods=[“DELETE”])
def slog_delete():
get_data = request.form.to_dict()
id = get_data.get(‘id’)
slog_data.del_slog(id)
return ‘200’

后台调用爬虫

@app.route(‘/spider/start’, methods=[“POST”])
def run_spider():
executor = ThreadPoolExecutor(2)
executor.submit(online())
return ‘200’

爬虫自动运行

def job_function():
print(“爬虫任务执行开始!”)
executor = ThreadPoolExecutor(2)
executor.submit(online())
# return # 新增的

def task():
scheduler = APScheduler()
scheduler.init_app(app)
# 定时任务,每隔10s执行1次
scheduler.add_job(func=job_function, trigger=‘interval’, seconds=1800, id=‘my_cloud_spider_id’)
scheduler.start()
# return # 新增的

写在main里面,IIS不会运行

task()

----------------------爬虫/爬虫日志模块-结束----------------------

if name == ‘__main__’:
# 端口号设置
app.run(host=“127.0.0.1”, port=5000)


🍅✌**感兴趣的可以先收藏起来,点赞关注不迷路,想学习更多项目可以查看主页,大家在毕设选题,项目代码以及论文编写等相关问题都可以给我留言咨询,希望可以帮助同学们顺利毕业!**🍅✌


#### **源码获取:**



> 
> 🍅**由于篇幅限制,获取完整文章或源码、代做项目的,拉到文章底部即可看到个人联系方式。**🍅
> 


![img](https://img-blog.csdnimg.cn/img_convert/75a5d593c160fbf5ddf39b8244bad39e.png)
![img](https://img-blog.csdnimg.cn/img_convert/0601852cec5b4c1515e7fcae5ed325da.png)

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**


[外链图片转存中...(img-8dC8P57N-1715827589613)]
[外链图片转存中...(img-VsS7FLej-1715827589613)]

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值