/PocketFilm

免费观看最新影视资源

Primary LanguageJavaScriptMIT LicenseMIT

GitHub

简介

掌上影视是一个可以在线浏览最新影视资源的平台,分为PC端、移动端,同时包括一个爬虫工具,可以自动爬取不同影视平台上的数据,从而保证该平台可以拥有最新的资源。该平台主要提供电影、电视剧、电视直播、戏曲相关资源的浏览与播放。

掌上影视的PC端和移动端采用相同的接口来获取数据,接口主要使用NodeJS来编写,PC段主要使用HtmlBootstrapJquery来实现,移动端使用Ionic框架来实现,数据库采用MongoDB数据库。

本项目仅为学习之作,请勿用作商业用途,否则后果自负!

系统版本

  • NodeJS:v10.16.3
  • JDK:1.8.0
  • MongoDB:v4.0.3
  • Python:3.7.4
  • Scrapy:1.6.0
  • Nginx:1.17.0

部署方法

  • 在你的服务器中建立文件夹/usr/local/etc,将/usr/local/projects/PocketFilm/etc下面的文件复制到/usr/local/etc下面,然后将/usr/local/etc/nginx/nginx.conf中的域名修改为你自己对应的域名
  • 在你的服务器中建立文件夹/usr/local/projects
  • Server/PocketFilm上传到你的服务器中的/usr/local/projects下面
  • 进入到/usr/local/projects/PocketFilm中,以下操作均是相对于当前文件夹
  • 进入到files/shell文件夹中
    • 启动Nginxsh start_nginx.sh
    • 启动MongoDBnohup sh monitor.sh >/dev/null 2>nohup-monitor.out &
    • 启动接口服务:nohup sh start_api.sh >/dev/null 2>nohup-api.out &
    • 启动掌上、掌上影视、掌上电视、掌上戏曲、掌上小品:sh start_pocketfilm.sh,如果启动单个或多个的话,其命令为sh start_pocketfilm.sh movie,tv,drama,不同的服务以逗号隔开,关闭相关服务的命令为sh stop_pocketfilm.sh,关闭单个或多个的命令为sh stop_pocketfilm.sh movie,tv,drama,不同的服务以逗号隔开
    • 启动推荐服务:sh start_recommender.sh
  • 进入到Spider/PocketLifeSpider/PocketLifeSpider/shell文件夹中
    • 启动爬虫:
      • 爬取全部数据:nohup sh start_spiders.sh all all >/dev/null 2>nohup-all-all.out &
      • 爬取最近数据:nohup sh start_spiders.sh all latest >/dev/null 2>nohup-all-latest.out &
      • 参数说明:sh start_spiders.sh all all
        • 第一个all:爬虫类型,all表示全部爬虫,单个或多个爬虫以逗号分开,例如:sh start_spiders.sh tencent,youku,iqiyi all
        • 第二个all:表示全部数据,如果想爬取最近数据,则为latest,例如:nohup sh start_spiders.sh all latest >/dev/null 2>nohup-all-latest.out &

使用说明

  • 项目分为接口服务、Web端、移动端、小程序、爬虫五个模块,不同模块使用不同的IDE导入相应的代码,具体如下:
    • 接口服务:文件夹为Web/PocketFilm
      • 使用WebStorm导入相应代码
      • 修改Web/PocketFilm/routers/api.js中的var dbURL = 'mongodb://***:27017';,将***修改为你自己服务器对应的ip
      • 修改Web/PocketFilm/routers/api.js中的var avatarList,将其中的默认图片修改为你自己的默认图片地址
    • Web端:文件夹为WWW/PocketFilm
      • 使用Intellij IDEA导入相应代码
      • 修改项目的Maven仓库地址
      • 修改WWW/PocketFIlm/Common/src/main/java/com/grayson/common/config/Configs.java中的public static String API_HOST = "http://***:9000";,将***修改为你自己服务器对应的ip,然后使用软件右侧的MavenProjects中的Common中的Lifecycle->install将其安装到你的Maven仓库中
    • 移动端:文件夹为Mobile/PocketFilm
      • 使用Visual Studio Code导入相应的代码
      • 修改Mobile/PocketFilm/src/app/config.service.ts中的public sourceUrl = 'http://***:9000';,将***修改为你自己服务器对应的ip
    • 小程序:文件夹为Applet/PocketFilm
      • 使用微信web开发者工具导入相应的代码
      • 修改Applet/PocketFilm/utils/util.js中的const configUrl = 'http://***:9000';,将***修改为你自己服务器对应的ip
    • 爬虫:文件夹为Spider/PocketFilm
      • 使用PyCharm导入相应的代码
      • 修改Spider/PocketLifeSpider/PocketLifeSpider/util/MongoDbUtils.py中的"ip":'***',将***修改为你自己服务器对应的ip

功能展示

Web端

移动端

打赏


  • 解决上面这些问题,需要花费很多时间与精力。支持项目继续完善下去,你也可以贡献一份力量!

  • 有了打赏,也就会有更新的动力 : )

更新日志


详见 CHANGELOG

开发文档[待完善]


接口代码(Web)使用方法

Web/PocketFilm/routers下面的api.js中的var dbURL = 'mongodb://localhost:27017';中的localhost替换为数据库所在机器的域名或ip地址。

移动端代码(Mobile)使用方法

Mobile/PocketFilm/src/app下面的config.service.ts中的public apiUrl = 'http://139.199.24.205:8080/api';中的139.199.24.205替换为接口所在机器的域名或ip地址。

爬虫代码(Spider)使用方法

1、将Spider/PocketLifeSpider/PocketLifeSpider/util下面的MongoDbUtils.py中的139.199.24.205环卫数据库所在机器的域名或ip地址。

settings = {
    # "ip":'localhost',   #ip
    "ip":'139.199.24.205',   #ip
    "port":27017,           #端口
    "db_name" : "pocket_film",    #数据库名字
}

2、资源名称及其对应的命令

资源名称 命令
电影 scrapy crawl movie -a target=1
电视剧 scrapy crawl movie -a target=2
综艺 scrapy crawl movie -a target=3
动漫 scrapy crawl movie -a target=4
影视类型 scrapy crawl movie_type
电影播放资源 scrapy crawl movie_source -a target=1
电视剧播放资源 scrapy crawl movie_source -a target=2
综艺播放资源 scrapy crawl movie_source -a target=3
动漫播放资源 scrapy crawl movie_source -a target=4
电视直播 scrapy crawl tv