Herramientas para descargar la EPG (Guía del programa electrónico) para miles de canales de televisión de cientos de fuentes.
Primero, debe instalar Node.js en su computadora. También deberá instalar Git para seguir estas instrucciones.
Después de eso, abra la consola (o terminal si tiene macOS) y escriba el siguiente comando:
git clone --depth 1 -b master https://github.com/iptv-org/epg.git
Luego navegue a la carpeta epg
descargada:
cd epg
E instalar todas las dependencias:
npm install
Para comenzar la descarga de la guía, seleccione uno de los sitios compatibles y pegue su nombre en el comando a continuación:
npm run grab -- --site=example.com
Y una vez que se complete la descarga, la guía se guardará en el archivo 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)
Puede hacer que la guía esté disponible a través de URL ejecutando su propio servidor:
npm run serve
Después de eso, la guía estará disponible en el enlace:
http://localhost:3000/guide.xml
Además, estará disponible para otros dispositivos en la misma red local en la dirección:
http://<your_local_ip_address>:3000/guide.xml
Por defecto, la guía para cada canal se descarga una por una, pero puede cambiar este comportamiento aumentando el número de solicitudes simultáneas utilizando el atributo --maxConnections
:
npm run grab -- --site=example.com --maxConnections=10
Pero tenga en cuenta que bajo una carga pesada, algunos sitios pueden comenzar a devolver un error o bloquear completamente su acceso.
Cree un archivo XML y copie las descripciones de todos los canales que necesita de los /sitios en él:
<? 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 >
Y luego especifique la ruta a ese archivo a través del atributo --channels
:
npm run grab -- --channels=path/to/custom.channels.xml
Si desea descargar la guía automáticamente en un horario, debe pasar una expresión de Cron válida al script usando el atributo --cron
:
npm run grab -- --site=example.com --cron= " 0 0 * * * "
Si ha descargado el código del repositorio de acuerdo con las instrucciones anteriores, para actualizarlo será suficiente para ejecutar el comando:
git pull
Y luego actualice todas las dependencias:
npm install
Las listas de reproducción con guías ya vinculadas se pueden encontrar en el repositorio IPTV-ORG/IPTV.
Todos los datos del canal se toman del repositorio de bases de datos IPTV-ORG/. Si encuentra algún error, abra un nuevo problema allí.
La documentación de API se puede encontrar en el repositorio de IPTV-ORG/API.
Los enlaces a otros recursos relacionados con el IPTV útiles se pueden encontrar en el repositorio IPTV-ORG/Awesome-IPTV.
Si tiene una pregunta o una idea, puede publicarla en la pestaña Discusiones.
Asegúrese de leer la guía de contribución antes de enviar un problema o una solicitud de extracción.
¡Y gracias a todos los que ya han contribuido!