/epg

抓取多来源电视节目单(EPG),生成TVXML文件并写入文件或自动提交Git仓库,并提供对外访问接口及后台配置。

MIT LicenseMIT

EPG 电子节目单

  • 使用PHP制作的节目表数据抓取及发布系统
  • 发现BUG可使用Issues指出或提交Pull requests
  • 更新由社区维护
  • Demo制作中...

主要功能

  • 支持使用 GitHub Actions 进行抓取并写入仓库,使用 GitHub Actions 时无需使用数据库;或使用服务器搭建并通过计划任务实现抓取
  • 支持使用 LeanCloud、SQLite、MySQL、PostGreSQL、MongoDB 等常规数据库系统
  • 支持使用 Redis、Memcache(d) 缓存器
  • 支持代理电视节目加速(目前暂不支持 Actions )。
  • 从网上抓取各来源的节目表信息并生成 xmltv 格式文件,用于 XBMC 等APP直接载入的节目表信息。
  • 后台配置频道获取列表及抓取日志。
  • 抓取失败时自动更换来源。
  • 各数来源提供节目表的频道获取
  • 提供向外发布的接口

节目表来源

  • 电视猫
  • 搜视
  • 央视
  • 中数
  • **宽频
  • 中华电信
  • 香港有线宽频caletv
  • **四季电视
  • 香港有线宽频i-cable
  • 香港NOWTV
  • 香港无线电视
  • 北京卫视
  • 广东卫视
  • 香港卫视
  • viutv
  • 川流TV
  • myTVSUPER

使用方法

最简单的

Fork一份,创建一个数据库,设置好密钥等等即可

服务器部署

将源码下载到服务器里面,然后使用 php 5 - php 8 版本部署,访问即可跳转至安装。

抓取数据

服务器部署默认为假计划任务,用户访问则自动匹配时间并执行计划任务,超时则立即执行。

可在配置文件内将 cron 改为 true ,然后访问 /?action=cron 抓取数据,可设置为计划任务。

  • /?action=cron --抓取数据并存入数据库或发送到仓库
  • /?action=cron&&channel=all --抓取所有来源的频道
  • /?action=cron&&channel=cctv1 --单独测试某一频道 抓取后将自动保留,支持设置保留时间,通常为7-30天左右,根据您的硬盘空间设置,GitHub Actions、LeanCloud 等在线服务则可设置为更长时间。

访问后台

通过访问 /admin 则可进入后台(默认),用户名密码默认为 admin/admin,可在后台修改 安全入口、用户名及密码。

后台可添加抓取来源和类型,使用标准PHP代码添加。

数据库配置

在配置文件内即可添加或修改数据库配置

增加其它频道

在后台“频道列表”中增加,一般只需要填写台标、频道名称及频道节目单地址。