豆瓣电影数据爬取、分析与可视化平台- Python Flask requests SQLite
项目描述
豆瓣电影数据爬取、分析与可视化平台 — 基于 Python3.10 + Flask + Echarts
http://127.0.0.1:5000
功能描述
-数据爬取:自动爬取豆瓣 Top 250、正在热映、分类浏览电影数据
-数据存储:使用 SQLite 轻量数据库,支持去重、增量更新
-数据导出:支持 CSV / JSON 格式导出
-数据可视化:4 种 Echarts 图表(评分分布、类型占比、年份趋势、地区分布)
-交互筛选:按来源、年份、评分、类型、地区多维度筛选
-搜索功能:支持按片名、导演、演员搜索
-反爬机制:随机延时、UA 模拟、失败重试,断点可续
一键爬取全部数据:python main.py –scrape
爬取特定来源:
python main.py –scrape top250 # 仅 Top 250
python main.py –scrape now_playing # 仅正在热映
python main.py –scrape category # 仅分类浏览
启动 Web 服务
python main.py –web
浏览器打开 http://localhost:5000
一键完成(爬取 + 启动)
python main.py –all
导出数据
python main.py –export csv # 导出 CSV
python main.py –export json # 导出 JSON
python main.py –export all # 导出全部格式
API 接口
端点 方法 说明
`/api/movies` GET 电影列表(支持分页、筛选、搜索)
`/api/movies/<id>` GET 单部电影详情
`/api/stats` GET 统计数据
`/api/search?q=` GET 电影搜索
`/api/sources` GET 各来源数量统计
`/api/export?format=csv` GET 下载 CSV
`/api/export?format=json` GET 下载 JSON
运行环境
开发环境 pycharm
项目技术
爬虫 requests + BeautifulSoup4 + lxml
数据库 SQLite(WAL 模式)
后端 Flask
前端 纯 HTML + Echarts CDN
可视化 Echarts 5:柱状图、饼图、折线图
以上系统源码经过技术整理与调试,确保能正常运行


