寒假第二十五天
Day 4: 完善逻辑与系统优化
目标:增加数据验证、日志记录和批量操作功能。
任务与进展:
- 
数据验证:
- 
检查评分范围(0-10)、标题非空等。
 
 - 
 - 
日志记录:
- 
使用
logging模块记录增删改查操作和错误信息。 
 - 
 - 
批量导入:
- 
支持从CSV文件批量新增数据。
 
 - 
 - 
API封装:
- 
使用
Flask编写简单接口供前端调用。 
 - 
 
代码片段:
from flask import Flask, request
import logging
logging.basicConfig(filename="movie_crud.log", level=logging.INFO)
app = Flask(__name__)
@app.route("/movies", methods=["POST"])
def add_movie():
    data = request.json
    if not data.get("title"):
        return {"error": "标题不能为空"}, 400
    try:
        insert_movie(data["title"], float(data["rating"]), data["director"], data["description"])
        logging.info(f"新增电影:{data['title']}")
        return {"message": "添加成功"}, 201
    except Exception as e:
        logging.error(f"添加失败:{str(e)}")
        return {"error": "服务器内部错误"}, 500
问题与解决:
- 
并发冲突:通过数据库事务隔离级别(
READ_COMMITTED)避免脏读。 - 
性能瓶颈:为高频查询字段(如
director)添加索引。 
总结
通过4天实践,完成了从数据爬取到增删改查的全流程开发:
- 
数据获取:爬虫技术 + 反爬策略。
 - 
数据管理:Pandas清洗 + MySQL存储。
 - 
功能实现:CRUD操作 + 参数化查询。
 - 
系统健壮性:数据验证、日志记录、API封装。
 
后续改进方向:
- 
增加用户权限管理(如JWT鉴权)。
 - 
使用分布式数据库(如HBase)提升大数据量下的性能。
 - 
结合可视化工具(如Tableau)展示数据分析结果。
 
                    
                
                
            
        
浙公网安备 33010602011771号