Python抓取生成XMLTV格式epg电子节目单

/ 4评 / 0

xmltv格式的epg电子节目单是用于kodi插件,pvr iptv simple client,以往在添加了m3u格式的直播源之后,看起来跟传统的电视还是有些差距,具体就是缺少了节目单和预告,于是自己撸了个小爬虫,从cntv官网上抓取各个电视台的节目数据生成电子节目单,一次抓取一天,放在linux服务器上用crontab跑计划任务,每天生成。

1、xmltv格式epg电子节目单介绍在这里

2、分析cntv官网的电子节目单网页接口,竟然直接就是json格式返回

http://api.cntv.cn/epg/epginfo?c=cctv1,cctv2,cctv3,cctv4,cctv5,cctv5plus,cctv6,cctv7,cctv8,cctvjilu,cctv10,cctv11,cctv12,&d=20190411

3、有了json就直接用python requests请求即可,然后按照1当中xmltv的介绍生成对应的xml文件

4、在linux 服务器当中用crontab任务来执行python脚本

1 1 * * * /usr/bin/python3 /var/www/html/iptv/getepg.py

5、以上整体代码在我的git里面可以找到

https://github.com/SoPudge/kodi_iptv_epg

  1. 小小说道:

    一个对我非常有用的脚本,可惜我运行失败了
    Traceback (most recent call last):
    File “getepg.py”, line 167, in
    getChannelTVmining(fhandle,cctv_channel_tvmining)
    File “getepg.py”, line 154, in getChannelTVmining
    fhandle.write(‘ \n’ % (start_time_epg[i], end_time_epg[i], channelID[n][0]))
    IndexError: list index out of range

    • Jonchil说道:

      @小小 因为我中途更新了使用天脉的epg接口,但是不多久这个接口就被停掉了,而git repo没有更新,可以重新git pull一下再使用即可,我已经重新更新使用cntv的接口了

  2. BurningC4说道:

    请问有没有办法获得cntv的接口列表?

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据