Инструменты для загрузки EPG (Руководство по электронной программе) для тысяч телеканалов из сотен источников.
Во -первых, вам нужно установить node.js на свой компьютер. Вам также нужно будет установить GIT, чтобы следовать этим инструкциям.
После этого откройте консоль (или терминал, если у вас есть macOS) и введите следующую команду:
git clone --depth 1 -b master https://github.com/iptv-org/epg.git
Затем перейдите в загруженную папку epg
:
cd epg
И установить все зависимости:
npm install
Чтобы начать загрузку руководства, выберите один из поддерживаемых сайтов и вставьте его имя в команду ниже:
npm run grab -- --site=example.com
И как только загрузка будет завершена, руководство будет сохранено в файле 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)
Вы можете сделать руководство доступным через URL, запустив свой собственный сервер:
npm run serve
После этого руководство будет доступно по ссылке:
http://localhost:3000/guide.xml
Кроме того, он будет доступен для других устройств в той же локальной сети по адресу:
http://<your_local_ip_address>:3000/guide.xml
По умолчанию руководство для каждого канала загружается один за другим, но вы можете изменить это поведение, увеличив количество одновременных запросов, используя атрибут --maxConnections
:
npm run grab -- --site=example.com --maxConnections=10
Но имейте в виду, что при тяжелой нагрузке некоторые сайты могут начать возвращать ошибку или полностью заблокировать ваш доступ.
Создайте файл XML и скопируйте описания всех каналов, которые вам нужны из /сайтов:
<? 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 >
А затем укажите путь к этому файлу через атрибут --channels
:
npm run grab -- --channels=path/to/custom.channels.xml
Если вы хотите автоматически загрузить руководство по расписанию, вам нужно передать действительное выражение Cron в сценарий, используя атрибут --cron
:
npm run grab -- --site=example.com --cron= " 0 0 * * * "
Если вы загрузили код репозитория в соответствии с указаниями выше, то для обновления его будет достаточно, чтобы запустить команду:
git pull
А затем обновите все зависимости:
npm install
Плейлисты с уже связанными гидами можно найти в репозитории IPTV-ORG/IPTV.
Все данные канала взяты из репозитория IPTV-ORG/базы данных. Если вы найдете какие -либо ошибки, откройте там новую проблему.
Документацию API можно найти в репозитории IPTV-ORG/API.
Ссылки на другие полезные ресурсы, связанные с IPTV, можно найти в репозитории IPTV-ORG/Awesome-IPTV.
Если у вас есть вопрос или идея, вы можете опубликовать его на вкладке «Дискуссии».
Пожалуйста, не забудьте прочитать руководство по отправке перед отправкой или запрос на притяжение.
И спасибо всем, кто уже внес свой вклад!