Outils pour télécharger l'EPG (Electronic Program Guide) pour des milliers de chaînes de télévision à partir de centaines de sources.
Tout d'abord, vous devez installer Node.js sur votre ordinateur. Vous devrez également installer GIT pour suivre ces instructions.
Après cela, ouvrez la console (ou terminal si vous avez macOS) et tapez la commande suivante:
git clone --depth 1 -b master https://github.com/iptv-org/epg.git
Accédez ensuite au dossier epg
téléchargé:
cd epg
Et installer toutes les dépendances:
npm install
Pour commencer le téléchargement du guide, sélectionnez l'un des sites pris en charge et collez son nom dans la commande ci-dessous:
npm run grab -- --site=example.com
Et une fois le téléchargement terminé, le guide sera enregistré dans le fichier guide.xml
.
Usage: npm run grab -- [options]
Options:
-s, --site < name > Name of the site to parse
-c, --channels < path > Path to * .channels.xml file (required if the " --site " attribute is
not specified)
-o, --output < path > Path to output file (default: " guide.xml " )
-l, --lang < code > Filter channels by language (ISO 639-2 code)
-t, --timeout < milliseconds > Override the default timeout for each request
-d, --delay < milliseconds > Override the default delay between request
--days < days > Override the number of days for which the program will be loaded
(defaults to the value from the site config)
--maxConnections < number > Limit on the number of concurrent requests (default: 1)
--cron < expression > Schedule a script run (example: " 0 0 * * * " )
--gzip Create a compressed version of the guide as well (default: false)
Vous pouvez rendre le guide disponible via URL en exécutant votre propre serveur:
npm run serve
Après cela, le guide sera disponible sur le lien:
http://localhost:3000/guide.xml
De plus, il sera disponible pour d'autres appareils sur le même réseau local à l'adresse:
http://<your_local_ip_address>:3000/guide.xml
Par défaut, le guide pour chaque canal est téléchargé un par un, mais vous pouvez modifier ce comportement en augmentant le nombre de demandes simultanées en utilisant l'attribut --maxConnections
:
npm run grab -- --site=example.com --maxConnections=10
Mais sachez que sous une charge lourde, certains sites peuvent commencer à renvoyer une erreur ou bloquer complètement votre accès.
Créez un fichier XML et copiez les descriptions de tous les canaux dont vous avez besoin à partir des sites:
<? xml version = " 1.0 " encoding = " UTF-8 " ?>
< channels >
< channel site = " arirang.com " lang = " en " xmltv_id = " ArirangTV.kr " site_id = " CH_K " >Arirang TV</ channel >
...
</ channels >
Puis spécifiez le chemin d'accès à ce fichier via l'attribut --channels
:
npm run grab -- --channels=path/to/custom.channels.xml
Si vous souhaitez télécharger automatiquement le guide sur un calendrier, vous devez transmettre une expression Cron valide au script à l'aide de l'attribut --cron
:
npm run grab -- --site=example.com --cron= " 0 0 * * * "
Si vous avez téléchargé le code du référentiel en fonction des instructions ci-dessus, alors pour mettre à jour, il suffira d'exécuter la commande:
git pull
Puis mettez à jour toutes les dépendances:
npm install
Les listes de lecture avec des guides déjà liés peuvent être trouvées dans le référentiel IPTV-ORG / IPTV.
Toutes les données de canal sont tirées du référentiel IPTV-Org / Database. Si vous trouvez des erreurs, veuillez y ouvrir un nouveau problème.
La documentation de l'API se trouve dans le référentiel IPTV-ORG / API.
Des liens vers d'autres ressources utiles liés à l'IPTV peuvent être trouvés dans le référentiel IPTV-Org / Awesome-IPTV.
Si vous avez une question ou une idée, vous pouvez la publier dans l'onglet Discussions.
Veuillez vous assurer de lire le guide de contribution avant d'envoyer un problème ou une demande de traction.
Et merci à tous ceux qui ont déjà contribué!