littlebot
Published on 2025-04-14 / 0 Visits
0

【源码】基于Go语言的电影网站系统

项目简介

本项目是运用Go语言与Redis构建的电影网站系统,具备低级爬虫功能。无需管理后台,支持手机端访问播放。静态文件与Go文件统一编译,运行仅依赖编译后的可执行二进制文件和Redis。系统内置自动爬虫定时任务,基本能满足日常观影需求。

项目的主要特性和功能

  • 多模式爬虫:支持网页爬虫与API请求两种模式,可在配置文件中灵活选择,API模式能避免网页爬虫可能出现的IP被封问题。
  • 数据存储:利用Redis进行数据的缓存与持久化,采用Zset存储分类信息、Hash存储电影具体信息、String缓存页面数据。
  • 前端展示:借助Go的hero模板引擎生成HTML页面,实现电影搜索、详情查看及播放等功能,支持响应式布局。
  • 定时任务:内置定时爬虫任务,默认凌晨一点开启,可通过配置文件修改执行时间,还能发送钉钉通知。

安装使用步骤

常规启动

  1. 进入目录:cd go-movies
  2. 生成配置文件:cp./config/app.go.backup./config/app.go,并根据需求修改其中的配置,如Redis连接信息、爬虫路由、定时任务表达式等。
  3. 启动程序:执行go run main.go或安装bee工具后执行bee run启动程序。若安装依赖包失败,可设置代理export GOPROXY=https://goproxy.io,directexport GOPROXY=https://goproxy.cn,direct
  4. 访问网站:通过浏览器访问http://127.0.0.1:8899查看网站效果。

Docker部署

手动部署

  1. 若未安装Redis镜像,执行sudo docker pull redis:latest进行安装。
  2. 启动Redis容器:sudo docker run -itd --name redis-test -p 6379:6379 redis
  3. 修改app.go的Redis连接地址为容器名称"addr":"redis-test"
  4. 编译项目:gox -osarch="linux/amd64"
  5. 构建镜像:sudo docker build -t go-movies-docker-scratch.
  6. 启动容器:sudo docker run --link redis-test:redis -p 8899:8899 -d go-movies-docker-scratch

docker-compose一键启动

  1. 修改app.go的Redis连接地址为容器名称,确保与docker-compose.yml中一致。
  2. 编译项目:gox -osarch="linux/amd64"
  3. 运行:sudo docker-compose up -d
  4. 打开浏览器访问http://127.0.0.1:8899查看网站效果。

注意事项

  • 请确保Redis服务已安装并运行,默认使用DB10。
  • 程序启动后会自动执行爬虫任务,也可访问http://127.0.0.1:8899/movies-spider手动开启。
  • 若修改静态文件或模板文件,需按对应工具要求执行编译命令。
  • 可使用gox工具进行跨平台编译。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】