Ferramentas para baixar o EPG (guia do programa eletrônico) para milhares de canais de TV de centenas de fontes.
Primeiro, você precisa instalar o Node.js no seu computador. Você também precisará instalar o Git para seguir estas instruções.
Depois disso, abra o console (ou terminal se você tiver macOS) e digite o seguinte comando:
git clone --depth 1 -b master https://github.com/iptv-org/epg.git
Em seguida, navegue para a pasta epg
baixada:
cd epg
E instalar todas as dependências:
npm install
Para iniciar o download do guia, selecione um dos sites suportados e colar seu nome no comando abaixo:
npm run grab -- --site=example.com
E assim que o download estiver concluído, o guia será salvo no arquivo 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)
Você pode disponibilizar o guia via URL executando seu próprio servidor:
npm run serve
Depois disso, o guia estará disponível no link:
http://localhost:3000/guide.xml
Além disso, estará disponível para outros dispositivos na mesma rede local no endereço:
http://<your_local_ip_address>:3000/guide.xml
Por padrão, o guia para cada canal é baixado um por um, mas você pode alterar esse comportamento aumentando o número de solicitações simultâneas usando o atributo --maxConnections
:
npm run grab -- --site=example.com --maxConnections=10
Mas esteja ciente de que, sob carga pesada, alguns sites podem começar a retornar um erro ou bloquear completamente seu acesso.
Crie um arquivo XML e copie as descrições de todos os canais necessários dos /sites para ele:
<? 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 >
E, em seguida, especifique o caminho para esse arquivo através do atributo --channels
:
npm run grab -- --channels=path/to/custom.channels.xml
Se você deseja --cron
o guia automaticamente em uma programação, precisar
npm run grab -- --site=example.com --cron= " 0 0 * * * "
Se você baixou o código do repositório de acordo com as instruções acima, para atualizá -lo será suficiente para executar o comando:
git pull
E atualize todas as dependências:
npm install
Listas de reprodução com guias já vinculadas podem ser encontradas no repositório IPTV-ORG/IPTV.
Todos os dados do canal são obtidos do repositório IPTV-ORG/Database. Se você encontrar algum erro, abra um novo problema lá.
A documentação da API pode ser encontrada no repositório IPTV-ORG/API.
Os links para outros recursos úteis relacionados ao IPTV podem ser encontrados no repositório IPTV-ORG/Awesome-IPTV.
Se você tiver uma pergunta ou uma ideia, poderá publicá -la na guia Discussões.
Certifique -se de ler o guia contribuinte antes de enviar problemas ou uma solicitação de tração.
E obrigado a todos que já contribuíram!