mirror of
https://github.com/iptv-org/epg.git
synced 2025-05-09 08:30:06 -04:00
Merge branch 'replace-webgrabber'
This commit is contained in:
commit
40f76efda9
27 changed files with 13197 additions and 1828 deletions
52
.gh-pages/guides/tv.yandex.ru.xml
Normal file
52
.gh-pages/guides/tv.yandex.ru.xml
Normal file
|
@ -0,0 +1,52 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?><tv>
|
||||
<channel id="1HDMusicTelevision.ru"><display-name>1 HD Music Television</display-name></channel>
|
||||
<channel id="2x2.ru"><display-name>2x2</display-name></channel>
|
||||
<programme start="20210311045000 +0300" stop="20210311051500 +0300" channel="2x2.ru"><title lang="ru">ДП. 3-я серия</title></programme>
|
||||
<programme start="20210311051500 +0300" stop="20210311053500 +0300" channel="2x2.ru"><title lang="ru">Пыхчево. Сезон 2. 2-я серия</title></programme>
|
||||
<programme start="20210311053500 +0300" stop="20210311060000 +0300" channel="2x2.ru"><title lang="ru">Подозрительная Сова. Сезон 8. 14-я серия</title></programme>
|
||||
<programme start="20210311060000 +0300" stop="20210311064000 +0300" channel="2x2.ru"><title lang="ru">Русские мультфильмы</title></programme>
|
||||
<programme start="20210311064000 +0300" stop="20210311065500 +0300" channel="2x2.ru"><title lang="ru">Бешеные кролики: Вторжение</title></programme>
|
||||
<programme start="20210311065500 +0300" stop="20210311084000 +0300" channel="2x2.ru"><title lang="ru">Луча Андеграунд. Сезон 4. 22-я серия</title></programme>
|
||||
<programme start="20210311084000 +0300" stop="20210311091000 +0300" channel="2x2.ru"><title lang="ru">Симпсоны. Сезон 12. 21-я серия - "Небылицы Симпсонов"</title></programme>
|
||||
<programme start="20210311091000 +0300" stop="20210311093500 +0300" channel="2x2.ru"><title lang="ru">Симпсоны. Сезон 13. 1-я серия - "Дом ужасов-12"</title></programme>
|
||||
<programme start="20210311093500 +0300" stop="20210311100500 +0300" channel="2x2.ru"><title lang="ru">Симпсоны. Сезон 13. 2-я серия - "Наказание родителя"</title></programme>
|
||||
<programme start="20210311100500 +0300" stop="20210311103500 +0300" channel="2x2.ru"><title lang="ru">Симпсоны. Сезон 13. 3-я серия - "Гомер "Мо"</title></programme>
|
||||
<programme start="20210311103500 +0300" stop="20210311110500 +0300" channel="2x2.ru"><title lang="ru">Удивительный мир Гамбола. Сезон 2. 31-я и 32-я серии</title></programme>
|
||||
<programme start="20210311110500 +0300" stop="20210311113000 +0300" channel="2x2.ru"><title lang="ru">Удивительный мир Гамбола. Сезон 2. 33-я и 34-я серии</title></programme>
|
||||
<programme start="20210311113000 +0300" stop="20210311115500 +0300" channel="2x2.ru"><title lang="ru">Удивительный мир Гамбола. Сезон 2. 35-я и 36-я серии</title></programme>
|
||||
<programme start="20210311115500 +0300" stop="20210311125500 +0300" channel="2x2.ru"><title lang="ru">Космические цыплята в космосе. 4-я - 6-я серии</title></programme>
|
||||
<programme start="20210311125500 +0300" stop="20210311132500 +0300" channel="2x2.ru"><title lang="ru">Аватар: легенда о Корре. Сезон 1. 7-я серия</title></programme>
|
||||
<programme start="20210311132500 +0300" stop="20210311135500 +0300" channel="2x2.ru"><title lang="ru">Аватар: легенда о Корре. Сезон 1. 8-я серия</title></programme>
|
||||
<programme start="20210311135500 +0300" stop="20210311142500 +0300" channel="2x2.ru"><title lang="ru">Футурама. Сезон 9. 13-я серия</title></programme>
|
||||
<programme start="20210311142500 +0300" stop="20210311145500 +0300" channel="2x2.ru"><title lang="ru">Футурама. Сезон 3. 1-я серия</title></programme>
|
||||
<programme start="20210311145500 +0300" stop="20210311152500 +0300" channel="2x2.ru"><title lang="ru">Футурама. Сезон 3. 2-я серия</title></programme>
|
||||
<programme start="20210311152500 +0300" stop="20210311155000 +0300" channel="2x2.ru"><title lang="ru">Губка Боб квадратные штаны. Сезон 8. 153-я серия</title></programme>
|
||||
<programme start="20210311155000 +0300" stop="20210311162000 +0300" channel="2x2.ru"><title lang="ru">Губка Боб квадратные штаны. Сезон 8. 154-я серия</title></programme>
|
||||
<programme start="20210311162000 +0300" stop="20210311165000 +0300" channel="2x2.ru"><title lang="ru">Губка Боб квадратные штаны. Сезон 8. 155-я серия</title></programme>
|
||||
<programme start="20210311165000 +0300" stop="20210311171500 +0300" channel="2x2.ru"><title lang="ru">Губка Боб квадратные штаны. Сезон 8. 156-я серия</title></programme>
|
||||
<programme start="20210311171500 +0300" stop="20210311174000 +0300" channel="2x2.ru"><title lang="ru">Губка Боб квадратные штаны. Сезон 8. 157-я серия</title></programme>
|
||||
<programme start="20210311174000 +0300" stop="20210311181000 +0300" channel="2x2.ru"><title lang="ru">Губка Боб квадратные штаны. Сезон 8. 158-я серия</title></programme>
|
||||
<programme start="20210311181000 +0300" stop="20210311183500 +0300" channel="2x2.ru"><title lang="ru">Губка Боб квадратные штаны. Сезон 8. 159-я серия</title></programme>
|
||||
<programme start="20210311183500 +0300" stop="20210311190500 +0300" channel="2x2.ru"><title lang="ru">Губка Боб квадратные штаны. Сезон 8. 160-я серия</title></programme>
|
||||
<programme start="20210311190500 +0300" stop="20210311193000 +0300" channel="2x2.ru"><title lang="ru">Губка Боб квадратные штаны. Сезон 8. 161-я серия</title></programme>
|
||||
<programme start="20210311193000 +0300" stop="20210311200000 +0300" channel="2x2.ru"><title lang="ru">Гриффины. Сезон 2. 9-я серия</title></programme>
|
||||
<programme start="20210311200000 +0300" stop="20210311202500 +0300" channel="2x2.ru"><title lang="ru">Гриффины. Сезон 2. 10-я серия</title></programme>
|
||||
<programme start="20210311202500 +0300" stop="20210311205500 +0300" channel="2x2.ru"><title lang="ru">Гриффины. Сезон 2. 12-я серия</title></programme>
|
||||
<programme start="20210311205500 +0300" stop="20210311212100 +0300" channel="2x2.ru"><title lang="ru">Гриффины. Сезон 2. 13-я серия</title></programme>
|
||||
<programme start="20210311212100 +0300" stop="20210311215500 +0300" channel="2x2.ru"><title lang="ru">Гриффины. Сезон 2. 15-я серия</title></programme>
|
||||
<programme start="20210311215500 +0300" stop="20210311222200 +0300" channel="2x2.ru"><title lang="ru">Гриффины. Сезон 3. 1-я серия</title></programme>
|
||||
<programme start="20210311222200 +0300" stop="20210311225000 +0300" channel="2x2.ru"><title lang="ru">Гриффины. Сезон 3. 2-я серия</title></programme>
|
||||
<programme start="20210311225000 +0300" stop="20210311230500 +0300" channel="2x2.ru"><title lang="ru">Подозрительная Сова. Сезон 2. 4-я серия</title></programme>
|
||||
<programme start="20210311230500 +0300" stop="20210311232000 +0300" channel="2x2.ru"><title lang="ru">Подозрительная Сова. Сезон 2. 5-я серия</title></programme>
|
||||
<programme start="20210311232000 +0300" stop="20210311235000 +0300" channel="2x2.ru"><title lang="ru">Суперособняк. Сезон 3. 16-я серия</title></programme>
|
||||
<programme start="20210311235000 +0300" stop="20210312005000 +0300" channel="2x2.ru"><title lang="ru">Проповедник. Сезон 4. 3-я серия</title></programme>
|
||||
<programme start="20210312005000 +0300" stop="20210312011000 +0300" channel="2x2.ru"><title lang="ru">Южный парк. Сезон 11. 11-я серия</title></programme>
|
||||
<programme start="20210312011000 +0300" stop="20210312014000 +0300" channel="2x2.ru"><title lang="ru">Черепашки мутанты ниндзя. Сезон 3. 20-я серия - "Возвращение Мухи"</title></programme>
|
||||
<programme start="20210312014000 +0300" stop="20210312020000 +0300" channel="2x2.ru"><title lang="ru">Черепашки мутанты ниндзя. Сезон 3. 21-я серия - "Прощай Муха"</title></programme>
|
||||
<programme start="20210312020000 +0300" stop="20210312022500 +0300" channel="2x2.ru"><title lang="ru">Черепашки мутанты ниндзя. Сезон 3. 22-я серия - "Вторжение похитителей черепах"</title></programme>
|
||||
<programme start="20210312022500 +0300" stop="20210312025000 +0300" channel="2x2.ru"><title lang="ru">Гриффины. Сезон 2. 14-я серия</title></programme>
|
||||
<programme start="20210312025000 +0300" stop="20210312031000 +0300" channel="2x2.ru"><title lang="ru">Шоу Кливленда. Сезон 2. 10-я серия</title></programme>
|
||||
<programme start="20210312031000 +0300" stop="20210312033500 +0300" channel="2x2.ru"><title lang="ru">Шоу Кливленда. Сезон 2. 11-я серия</title></programme>
|
||||
<programme start="20210312033500 +0300" stop="20210312035500 +0300" channel="2x2.ru"><title lang="ru">Шоу Кливленда. Сезон 2. 12-я серия</title></programme>
|
||||
<programme start="20210312035500 +0300" stop="20210312045000 +0300" channel="2x2.ru"><title lang="ru">2X2 Music</title></programme>
|
||||
<programme start="20210312045000 +0300" stop="20210312051500 +0300" channel="2x2.ru"><title lang="ru">ДП. 4-я серия</title></programme></tv>
|
10022
.gh-pages/guides/tvguide.co.uk.xml
Normal file
10022
.gh-pages/guides/tvguide.co.uk.xml
Normal file
File diff suppressed because it is too large
Load diff
3
.gitignore
vendored
3
.gitignore
vendored
|
@ -1,5 +1,2 @@
|
|||
/siteini.pack/
|
||||
*.log.txt
|
||||
hot_cookies.txt
|
||||
robots/
|
||||
node_modules
|
Binary file not shown.
Binary file not shown.
|
@ -1,105 +0,0 @@
|
|||
#!/bin/bash
|
||||
|
||||
#/**
|
||||
# * @file SiteIni.Pack.Update.sh
|
||||
# * @brief will update the siteini.pack folder
|
||||
# * @author Francis De Paemeleere
|
||||
# * @date 31/07/2016
|
||||
# */
|
||||
|
||||
#backup the current working dir
|
||||
WG_BCKP_DIR="$(pwd)"
|
||||
|
||||
|
||||
function quit {
|
||||
#restore previous working dir
|
||||
cd "$WG_BCKP_DIR"
|
||||
exit $1;
|
||||
}
|
||||
|
||||
which unzip >/dev/null 2>&1 || { echo >&2 "unzip required, but it's not installed."; quit 1; }
|
||||
which wget >/dev/null 2>&1 || { echo >&2 "wget required, but it's not installed."; quit 1; }
|
||||
|
||||
# set wget progress option
|
||||
wget --help | grep -q '\--show-progress' && \
|
||||
_PROGRESS_OPT="-q --show-progress" || _PROGRESS_OPT=""
|
||||
|
||||
function download {
|
||||
wget $_PROGRESS_OPT "$1"
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
return 1
|
||||
fi
|
||||
return 0
|
||||
}
|
||||
|
||||
# get the absolute path of the link (or relative path)
|
||||
if [ -L $0 ] ; then
|
||||
DIR=$(dirname $(readlink -f $0)) ;
|
||||
else
|
||||
DIR=$PWD/$(dirname $0) ;
|
||||
fi ;
|
||||
|
||||
# move to the real folder
|
||||
cd "$DIR/.."
|
||||
|
||||
#check if we can see the current siteini.pack
|
||||
echo " ==> detecting siteini.pack"
|
||||
if [ ! -d "siteini.pack" ]
|
||||
then
|
||||
echo "$(pwd)"
|
||||
echo "[error] Can't find current siteini.pack folder"
|
||||
quit 1
|
||||
fi
|
||||
|
||||
currentVersion="siteini.pack/*.txt"
|
||||
files=( $currentVersion )
|
||||
|
||||
versionCurrent=${files[0]//[!0-9]/}
|
||||
echo " ==> Current version: ($versionCurrent)"
|
||||
|
||||
|
||||
content=$(wget http://www.webgrabplus.com/sites/default/files/download/ini/latest_version.txt -q -O -)
|
||||
#echo "${content//[!0-9]/}"
|
||||
versionOnline=${content//[!0-9]/}
|
||||
echo " ==> Online version: ($versionOnline)"
|
||||
|
||||
if (( "$versionCurrent" >= "$versionOnline" ))
|
||||
then
|
||||
echo " ==> Already up-to-date"
|
||||
quit 0
|
||||
fi
|
||||
|
||||
echo " ==> removing history file"
|
||||
#remove older downloaded file (if it would exist)
|
||||
rm -f SiteIniPack_current.zip
|
||||
|
||||
echo " ==> download new siteini.pack package"
|
||||
#download new file
|
||||
download "http://webgrabplus.com/sites/default/files/download/ini/SiteIniPack_current.zip"
|
||||
if [[ $? -ne 0 ]]
|
||||
then
|
||||
echo "[error] Download of the siteini.pack failed"
|
||||
quit 1
|
||||
fi
|
||||
|
||||
echo " ==> remove old siteini.pack"
|
||||
#remove old siteini.pack
|
||||
rm -rf siteini.pack
|
||||
#check if the siteini.pack was deleted correctly
|
||||
if [ -d "siteini.pack" ]
|
||||
then
|
||||
echo "[error] Can't delete old siteini.pack folder"
|
||||
rm -f SiteIniPack_current.zip
|
||||
quit 1
|
||||
fi
|
||||
|
||||
echo " ==> extract new siteini.pack"
|
||||
#extract new siteini.pack
|
||||
unzip -q SiteIniPack_current.zip -d .
|
||||
|
||||
echo " ==> cleanup"
|
||||
#remove older downloaded file
|
||||
rm -f SiteIniPack_current.zip
|
||||
|
||||
quit 0
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1095
bin/changelog.txt
1095
bin/changelog.txt
File diff suppressed because it is too large
Load diff
83
bin/epg-grabber/index.js
Executable file
83
bin/epg-grabber/index.js
Executable file
|
@ -0,0 +1,83 @@
|
|||
#! /usr/bin/env node
|
||||
|
||||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const axios = require('axios')
|
||||
const axiosDelayAdapter = require('axios-delay').default
|
||||
const utils = require('./utils')
|
||||
const { Command } = require('commander')
|
||||
const program = new Command()
|
||||
const dayjs = require('dayjs')
|
||||
const utc = require('dayjs/plugin/utc')
|
||||
dayjs.extend(utc)
|
||||
|
||||
program
|
||||
.version('0.1.0', '-v, --version')
|
||||
.name('epg-grabber')
|
||||
.description('EPG grabber')
|
||||
.usage('[options] [file-or-url]')
|
||||
.option('-c, --config <config>', 'Path to [site].config.xml file', './')
|
||||
.option('-s, --sites <sites>', 'Path to sites folder', './sites')
|
||||
.parse(process.argv)
|
||||
|
||||
const options = program.opts()
|
||||
|
||||
const config = utils.parseConfig(options.config)
|
||||
const sites = utils.loadSites(options.sites)
|
||||
|
||||
const client = axios.create({
|
||||
adapter: axiosDelayAdapter(axios.defaults.adapter),
|
||||
headers: { 'User-Agent': config.userAgent }
|
||||
})
|
||||
|
||||
async function main() {
|
||||
console.log('\r\nStarting...')
|
||||
console.log(`Loading '${options.config}'...`)
|
||||
const d = dayjs.utc()
|
||||
const dates = Array.from({ length: config.days }, (_, i) => d.add(i, 'd'))
|
||||
const channels = config.channels
|
||||
const requests = []
|
||||
channels.forEach(channel => {
|
||||
const site = sites[channel.site]
|
||||
dates.forEach(date => {
|
||||
requests.push({
|
||||
url: site.url({ date, channel }),
|
||||
date,
|
||||
channel
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
console.log('Parsing:')
|
||||
let programs = []
|
||||
for (let request of requests) {
|
||||
const progs = await client
|
||||
.get(request.url)
|
||||
.then(response => {
|
||||
const channel = request.channel
|
||||
const site = sites[channel.site]
|
||||
|
||||
const programs = site.parser({
|
||||
channel,
|
||||
content: response.data,
|
||||
date: request.date
|
||||
})
|
||||
|
||||
console.log(` ${channel.site} - ${channel.xmltv_id} (${programs.length} programs)`)
|
||||
|
||||
return programs
|
||||
})
|
||||
.then(utils.sleep(3000))
|
||||
.catch(console.log)
|
||||
|
||||
programs = programs.concat(progs)
|
||||
}
|
||||
|
||||
const xml = utils.convertToXMLTV({ channels, programs })
|
||||
utils.createDir(path.dirname(config.filename))
|
||||
utils.writeToFile(config.filename, xml)
|
||||
console.log(`File '${config.filename}' successfully updated`)
|
||||
console.log('Finish\r\n')
|
||||
}
|
||||
|
||||
main()
|
97
bin/epg-grabber/utils.js
Normal file
97
bin/epg-grabber/utils.js
Normal file
|
@ -0,0 +1,97 @@
|
|||
const fs = require('fs')
|
||||
const path = require('path')
|
||||
const convert = require('xml-js')
|
||||
const dayjs = require('dayjs')
|
||||
const glob = require('glob')
|
||||
|
||||
const utils = {}
|
||||
utils.convertToXMLTV = function ({ channels, programs }) {
|
||||
let output = '<?xml version="1.0" encoding="UTF-8" ?><tv>'
|
||||
|
||||
for (let channel of channels) {
|
||||
output += `
|
||||
<channel id="${channel['xmltv_id']}"><display-name>${channel.name}</display-name></channel>`
|
||||
}
|
||||
|
||||
for (let program of programs) {
|
||||
const start = program.start ? dayjs(program.start).format('YYYYMMDDHHmmss ZZ') : ''
|
||||
const stop = program.stop ? dayjs(program.stop).format('YYYYMMDDHHmmss ZZ') : ''
|
||||
const title = program.title ? program.title.toString().trim().replace('&', '&') : ''
|
||||
const lang = program.lang ? program.lang : 'en'
|
||||
|
||||
if (start && title) {
|
||||
output += `
|
||||
<programme start="${start}" stop="${stop}" channel="${program.channel}"><title lang="${lang}">${title}</title>`
|
||||
|
||||
if (program.category) {
|
||||
output += `<category lang="${lang}">${program.category}</category>`
|
||||
}
|
||||
|
||||
output += '</programme>'
|
||||
}
|
||||
}
|
||||
|
||||
output += '\r\n</tv>'
|
||||
|
||||
return output
|
||||
}
|
||||
|
||||
utils.parseConfig = function (configPath) {
|
||||
const xml = fs.readFileSync(path.resolve(process.cwd(), configPath), {
|
||||
encoding: 'utf-8'
|
||||
})
|
||||
const result = convert.xml2js(xml)
|
||||
const settings = result.elements.find(el => el.name === 'settings')
|
||||
const filename = this.getElementText('filename', settings.elements)
|
||||
const days = this.getElementText('days', settings.elements)
|
||||
const userAgent = this.getElementText('user-agent', settings.elements)
|
||||
const channels = settings.elements
|
||||
.filter(el => el.name === 'channel')
|
||||
.map(el => {
|
||||
const channel = el.attributes
|
||||
channel.name = el.elements.find(el => el.type === 'text').text
|
||||
|
||||
return channel
|
||||
})
|
||||
|
||||
return {
|
||||
filename,
|
||||
days,
|
||||
userAgent,
|
||||
channels
|
||||
}
|
||||
}
|
||||
|
||||
utils.getElementText = function (name, elements) {
|
||||
const el = elements.find(el => el.name === name)
|
||||
|
||||
return el ? el.elements.find(el => el.type === 'text').text : null
|
||||
}
|
||||
|
||||
utils.loadSites = function (sitesPath) {
|
||||
const sites = {}
|
||||
glob.sync(`${sitesPath}/*.js`).forEach(function (file) {
|
||||
const name = path.parse(file).name
|
||||
sites[name] = require(path.resolve(file))
|
||||
})
|
||||
|
||||
return sites
|
||||
}
|
||||
|
||||
utils.sleep = function (ms) {
|
||||
return function (x) {
|
||||
return new Promise(resolve => setTimeout(() => resolve(x), ms))
|
||||
}
|
||||
}
|
||||
|
||||
utils.createDir = function (dir) {
|
||||
if (!fs.existsSync(path.resolve(__dirname, dir))) {
|
||||
fs.mkdirSync(path.resolve(__dirname, dir))
|
||||
}
|
||||
}
|
||||
|
||||
utils.writeToFile = function (filename, data) {
|
||||
fs.writeFileSync(path.resolve(__dirname, filename), data)
|
||||
}
|
||||
|
||||
module.exports = utils
|
|
@ -1,15 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<settings>
|
||||
|
||||
<filename>../../.gh-pages/guide_en.xml</filename>
|
||||
<mode></mode>
|
||||
<postprocess grab="y" run="n">rex</postprocess>
|
||||
<user-agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36 Edg/79.0.309.71</user-agent>
|
||||
<logging>off</logging>
|
||||
<retry time-out="5">4</retry>
|
||||
<timespan>0</timespan>
|
||||
<update>f</update>
|
||||
|
||||
<channel update="i" site="m.tvguide.co.uk-full" site_id="66" xmltv_id="BBCNews.uk">BBC News</channel>
|
||||
|
||||
</settings>
|
|
@ -1,171 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Configuration file for the REX (Re-arrange and Edit Xmltv) postprocessor of WebGrab+Plus
|
||||
by Jan van Straaten
|
||||
Version 4 Januari 2020 Postprocess V2.0.9
|
||||
- added xmltv attributes processing for the elements to expand in 'Content and Values' section
|
||||
- added all Webgrab+Plus xmltv elements are now supported
|
||||
WebGrab+Plus Version V3.0.0 or higher
|
||||
Version 3 April 2019 Postprocess v2.0.8
|
||||
- added optional 'source_file' variable in >filename
|
||||
- added optional operations of the elements to expand in 'Content and Values' section
|
||||
WebGrab+Plus Version V2.1.9 or higher-->
|
||||
|
||||
<!--This configuration file can be made fully functional, change the settings to your own needs as explained and save it in the rex sub-folder of the
|
||||
WebGrab+Plus homefolder as rex.config.xl-->
|
||||
|
||||
<!-- Introduction:
|
||||
The purpose of this post-processor is to re-arrange and edit the xmltv file created by the grabber section of WebGrab+Plus.
|
||||
This can be useful or necessary if the EPG viewer of the PVR/Media-Centre used, or the xmltv importer it uses, does not support all the xmltv elements
|
||||
in the xmltv file created by WG++ or simply because of some users wishes.
|
||||
It can:
|
||||
- Move the content of xmltv elements to other xmltv elements
|
||||
- Merge the content of several xmltv elements
|
||||
- Add comments/prefix/postfix text
|
||||
- Remove or create xmltv elements
|
||||
E.g.: If the PVR doesn't support import of credit elements (actors, directors etc.) it can add the content of them to the description and remove the
|
||||
original credit elements which are useless.
|
||||
Or, it can move the episode data to the beginning or end of the subtitle element
|
||||
Etc. ..
|
||||
This file (rex.config.xml), is stored in the REX postprocess home folder. By default, that is a subfolder named rex of the WebGrab+Plus home folder
|
||||
(default C:\Users\username\AppData\Local\WebGrab+Plus)
|
||||
Remark: This post-processor is only fully effective if the xmltv input has a 'clean' xmltv structure in which the data is properly allocated to the elements.
|
||||
If that is the case depends on the EPG source site and the design of the SiteIni file . Some of the (e.g. customized) SiteIni files produce xmltv data that
|
||||
targets certain PVR/Media-Centre requirements already. In these cases this postprocessor is less effective/useful.-->
|
||||
|
||||
<settings>
|
||||
<!--xmltv file :
|
||||
The xmltv target file in which the updated data will be merged with the grabbed EPG.
|
||||
Because of the incremental nature of the grabbing process this file must be different (name and/or path) from the target file of the grabbing as <filename>,
|
||||
specified in WebGrab++.config.xml . Specify path (obtional) + filename. Path can be specified absolute, like
|
||||
<filename>C:\Users\username\AppData\Local\WebGrab+Plus\rex\guide.xml</filename> or relative to the path of this config file (rex.config.xml),
|
||||
like (if guide.xml is in the same folder as the config file) : <filename>guide.xml</filename> !!
|
||||
It may contain a variable 'source_file' that will take the value of the xmltv source file (without .xml) plus text elements:
|
||||
e.g <filename>final_'source_file'_1.xml</filename> will result in final_guide_1.xml if source_file is guide.xml-->
|
||||
<filename>guide.xml</filename>
|
||||
|
||||
<!-- Configuration of the elements:-->
|
||||
<![CDATA[
|
||||
1. Content and Values:
|
||||
This is best explained in a step by step fashion:
|
||||
Suppose you want to move the actors to the end of the description. You then specify:
|
||||
<desc>'description'\n'actor'</desc>
|
||||
The result is the existing 'description', followed by, on a newline, the actor(s) separated by the standard WG++ element separator |.
|
||||
The result:
|
||||
<desc>This is the original description.
|
||||
Michael Douglas|Kim Basinger</desc>
|
||||
|
||||
You probably don't like the | as separator between the actors, so you specify another separator like this:
|
||||
<desc>'description'\n'actor(, )'</desc>
|
||||
The result:
|
||||
<desc>This is the original description.
|
||||
Michael Douglas, Kim Basinger</desc>
|
||||
|
||||
You can make this prettier by adding some text to the actors addition:
|
||||
<desc>'description'\nActors: 'actor(, )'.</desc>
|
||||
The result:
|
||||
<desc>This is the original description.
|
||||
Actors: Michael Douglas, Kim Basinger.</desc>
|
||||
|
||||
A small problem: Suppose the source xmltv show doesn't have any actors, then the result would be not so pretty:
|
||||
<desc>This is the original description.
|
||||
Actors: .</desc>
|
||||
|
||||
To avoid that, the added text can be linked to the element it must be added to, like this:
|
||||
<desc>'description'{\nActors: 'actor(, )'.}</desc>
|
||||
Result with actors:
|
||||
<desc>This is the original description.
|
||||
Actors: Michael Douglas, Kim Basinger.</desc>
|
||||
And without actors:
|
||||
<desc>This is the original description.</desc>
|
||||
|
||||
An example with some more elements:
|
||||
<desc>'description'{\n\tYear of production: 'productiondate'.}{\n\tProducer: 'producer(, )'.}{\n\tActors: 'actor(, )'.}</desc>
|
||||
Result:
|
||||
<desc>This is the original description.
|
||||
Year of production: 2002.
|
||||
Producer: Steven Spielberg.
|
||||
Actors: Michael Douglas, Kim Basinger.</desc>
|
||||
|
||||
And another one:
|
||||
<sub-title>{Episode: 'episode'\t}'subtitle'</sub-title>
|
||||
Result:
|
||||
<sub-title>Episode: 3.2/12.1 The original subtitle</sub-title>
|
||||
|
||||
You can also remove elements (but not the title!) from the xmltv listing by specifying an empty element, like this:
|
||||
<actor></actor> or simply <actor />
|
||||
This will remove all <actor> elements
|
||||
And this:
|
||||
<credits />
|
||||
Will remove the <credits> element, including all its child elements like <actor> , <producer> etc.
|
||||
|
||||
Additional options :
|
||||
|
||||
** Operations : optionally to do certain operations on the element value to expand e.g:
|
||||
These operations must be specified within the ' ' characters that specify the elementname, enclosed by [] and separated by a , e.g.
|
||||
<desc>{Summary: 'description[cleanup(style=upper), max_chars=500]'}{\nActors: 'actor(, )'}</desc>
|
||||
supported operations :
|
||||
- cleanup with style and tags arguments,
|
||||
- max_chars, max_words and max_sentences to limit the content data of the expanded element.
|
||||
|
||||
** Xmltv Attributes in content to expand: If the source xmltv element has an attribute, like lang="en" or role="rolename" (in actor) or system="US",
|
||||
it is possible to add it to the expanded content by add /a (for attribute value only) or /a+ (for attributename and value) to the element name.
|
||||
This /a or /a+ addition must be added directly after the element name, like 'actor/a' or combined with a custom separator, 'actor/a(, )'
|
||||
or combined with an operation 'country/a(/)[cleanup(style=lower)]'
|
||||
Example (assuming the actors role values are provided in the source xmltv file):
|
||||
<desc>'description'{\n\tYear of production: 'productiondate',}{ Rating: 'rating/a+'.}{\n\tProducer: 'producer(, )'.}{\n\tActors: 'actor/a+(, )'.}</desc>
|
||||
|
||||
Result:
|
||||
<desc>This is the original description.
|
||||
Year of production: 2002, Rating TV-14(system=US).
|
||||
Producer: Steven Spielberg.
|
||||
Actors: Michael Douglas(role=The carpenter), Kim Basinger(role=Mary).</desc>
|
||||
|
||||
Summary of Content/Values:
|
||||
1. Syntax
|
||||
<xmltv-element-name optional-attribute="attribute-value">content</xmltv-element-name>
|
||||
- the content of the xmltv-target elements can be specified by means of a mixture of text and element-values.
|
||||
- content can be left empty to remove the xmltv element (except the element <title>)
|
||||
- the element-values must be entered by their (wg++) element-name enclosed by ' '
|
||||
- optionally, element values can be processed by means of certain operations,
|
||||
E.g. 'description[cleanup(style=upper), max_sentences=2]'
|
||||
- optionally, element xmltv attribute values can be added to the content by adding /a (only attribute value) or /a+ (value + attributename) to the 'elementname'
|
||||
- multiple value elements (like actor) will be converted to single value elements if the xmltv-target element is a single value element, like <desc>.
|
||||
The individual values will be listed with a (standard WG++ internal element separator character) | as separator unless another separator is specified as follows:
|
||||
'element-name(separator-string)' e.g. 'actor(, )' or with attribute 'actor/a(, )'
|
||||
- text and element-names can be linked together by enclosing them by {}. This will ensure that, when the element in it is empty, everything between the {} is
|
||||
ignored. E.g. {\nProduced in : ('productiondate')}
|
||||
- the text in the xmltv-target elements may contain the following simple formatting :
|
||||
- \n or \r to force a newline
|
||||
- \t to add a tab
|
||||
|
||||
2. The allowed xmltv-target elements (the ones in the target file specified above) are :
|
||||
- IMPORTANT! : any of the next listed xmltv-target elements that is specified in this allocation specification, replaces the existing xmltv element and
|
||||
its content!
|
||||
2.1 'Full' function , these can be added, changed and removed
|
||||
<title> <sub-title> <desc> <star-rating> <director> <actor> <category> <episode> <icon>
|
||||
<review> (=optional new xmltv element)
|
||||
2.2 'Remove/Keep' only, cannot be added, changed, only removed or kept as 'is'
|
||||
<date> <producer> <writer> <presenter> <composer> <commentator> <rating> <aspect> <quality> <url> <country>
|
||||
|
||||
3. Supported element-names (from the existing xmltv listing, name definitions as in Appendix E of the documentation) to be used as content to expand:
|
||||
'title' 'description' 'starrating' 'subtitle' 'productiondate' 'category' 'director' 'actor' 'presenter' 'writer' 'composer' 'producer' 'commentator' 'rating'
|
||||
'episode' 'showicon' 'review' 'subtitles' 'premiere' 'previously-shown' 'aspect' 'quality' 'country' 'url'
|
||||
|
||||
4. Attributes
|
||||
- for each of the xmltv-elements the following attribute can be specified
|
||||
(if not specified, the existing one, if present in the xmltv, will be used) :
|
||||
- lang for <title> and <desc> , default : no attribute
|
||||
- system for <star-rating> , default : no attribute
|
||||
- type for <review> , default: type="text"
|
||||
- Existing xmltv attribute values can be added to expanded content. (see above)
|
||||
]]>
|
||||
<!-- examples-->
|
||||
<sub-title>{Episode: 'episode' }'subtitle'</sub-title>
|
||||
<desc>'description[max_words=100]'{\n\t¤ Produced in: 'productiondate'. }{¤ Category: 'category(, )'. }{\n\t¤ Actors: 'actor/a+(, )'}{\n\t¤ Director: 'director(, )'}{\n\t¤ Presenter: 'presenter(, )'}</desc>
|
||||
<credits></credits>
|
||||
<episode-num></episode-num>
|
||||
<date></date>
|
||||
<category></category>
|
||||
<review>{Ratings: 'rating(, )'.}</review>
|
||||
<rating></rating>
|
||||
</settings>
|
|
@ -1,70 +0,0 @@
|
|||
**------------------------------------------------------------------------------------------------
|
||||
* @header_start
|
||||
* WebGrab+Plus ini for grabbing EPG data from TvGuide websites
|
||||
* @Site: tvguide.co.uk
|
||||
* @MinSWversion: V1.1.1/53
|
||||
* none
|
||||
* @Revision 2 - [06/03/2017] Netuddki
|
||||
* added showicon
|
||||
* @Revision 1 - [17/07/2016] Blackberar199
|
||||
* showsplit change,start fix
|
||||
* @Revision 0 - [19/05/2016] Willy De Wilde
|
||||
* mobile version
|
||||
* @Remarks:
|
||||
* none
|
||||
* @header_end
|
||||
**------------------------------------------------------------------------------------------------
|
||||
|
||||
site {url=tvguide.co.uk|timezone=Europe/London|maxdays=6.1|cultureinfo=en-GB|charset=UTF-8|titlematchfactor=50|allowlastpageoverflow}
|
||||
url_index{url|http://www.tvguide.co.uk/mobile/channellisting.asp?ch=|channel|}
|
||||
url_index.headers {customheader=Accept-Encoding=gzip,deflate}
|
||||
urldate.format {datestring|M/d/yyyy}
|
||||
*
|
||||
index_showsplit.scrub {multi(exclude="ADTECH")|<div id="channel-listings">|<tr>|</tr>|<!-- Begin comScore Tag -->}
|
||||
index_start.scrub {single|<td class="time|">|</td>|</td>}
|
||||
index_start.modify {replace|am| am}
|
||||
index_start.modify {replace|pm| pm}
|
||||
index_title.scrub {single|<div class="title"|">|</div>|</div>}
|
||||
index_title.modify {cleanup(tags="<"">")}
|
||||
index_title.modify {cleanup}
|
||||
index_description.scrub {multi |<div class="detail">||</div>}
|
||||
index_episode.scrub {single (separator="<br>" include="Season ""Episode ")|<div class="detail">||</div>}
|
||||
index_description.modify {remove|'index_episode'}
|
||||
index_description.modify {replace|<div class="other">|**BR**}
|
||||
index_description.modify {replace|<br><br><br>|**BR**}
|
||||
index_description.modify {replace|<br><br>|**BR**}
|
||||
index_description.modify {replace|<br>|**BR**}
|
||||
index_description.modify {cleanup(tags="<"">")}
|
||||
index_description.modify {replace|**BR**|\n}
|
||||
index_description.modify {remove|**BR*}
|
||||
index_description.modify {remove(type=regex)|\(.+?\)}
|
||||
index_description.modify {cleanup}
|
||||
*
|
||||
index_urlshow {url ()|| href="||"}
|
||||
title.scrub {single ()|<h1 class="showname"|>|</h1>}
|
||||
title.modify {cleanup(tags="<"">")}
|
||||
title.modify {cleanup}
|
||||
showicon.scrub {single|<div id="headerImage|:url(|);|</div>}
|
||||
director.scrub {multi((exclude="IMDB"))|Director:|<span class="actor">|</span>}
|
||||
director.modify {cleanup(tags="<"">")}
|
||||
*producer.scrub {single(exclude="IMDB")|<span class="role">Series Producer|<span class="actor">|</span>|</a><br>}
|
||||
*producer.scrub {single(exclude="IMDB")|<span class="role">Executive Producer|<span class="actor">|</span>|</a><br>}
|
||||
writer.scrub {single(separator=", ")|Writer:|<span class="actor">|</span>}
|
||||
writer.modify {cleanup(tags="<"">")}
|
||||
actor.scrub {multi(exclude="IMDB")|Cast</span><br>|itemprop="name">|</span>|<span class="tvchannel">}
|
||||
category.scrub {multi(separator="/")|<span class="tvchannel">Category: </span>|<span class="programmetext">|</span>|<br>}
|
||||
productiondate.scrub {single()|<h1|(|)|</h1>} * in title
|
||||
*title.modify {remove|('productiondate')}
|
||||
*title.modify {cleanup}
|
||||
*
|
||||
** _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
** _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
** ##### CHANNEL FILE CREATION (only to create the xxx-channel.xml file)
|
||||
**
|
||||
** @auto_xml_channel_start
|
||||
* enable the following three lines to create a channel list file for only the selected files
|
||||
* channels from the desktop version
|
||||
*url_index{url|http://my.tvguide.co.uk/channellisting.asp?ch=74}
|
||||
*index_site_channel.scrub {multi|<option value=|>|</option>|</table>}
|
||||
*index_site_id.scrub {multi|<option value=||>|</table>}
|
||||
** @auto_xml_channel_end
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0"?>
|
||||
<settings>
|
||||
|
||||
<filename>../../.gh-pages/guide_ru.xml</filename>
|
||||
<mode></mode>
|
||||
<postprocess grab="y" run="n">rex</postprocess>
|
||||
<user-agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36 Edg/79.0.309.71</user-agent>
|
||||
<logging>off</logging>
|
||||
<retry time-out="5">4</retry>
|
||||
<timespan>0</timespan>
|
||||
<update>f</update>
|
||||
|
||||
<channel update="i" site="tv.yandex.ru" site_id="213##323" xmltv_id="2x2.ru">2x2</channel>
|
||||
<channel update="i" site="tv.yandex.ru" site_id="213##920" xmltv_id="ParamountComedy.ru">Paramount Comedy</channel>
|
||||
|
||||
</settings>
|
|
@ -1,171 +0,0 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Configuration file for the REX (Re-arrange and Edit Xmltv) postprocessor of WebGrab+Plus
|
||||
by Jan van Straaten
|
||||
Version 4 Januari 2020 Postprocess V2.0.9
|
||||
- added xmltv attributes processing for the elements to expand in 'Content and Values' section
|
||||
- added all Webgrab+Plus xmltv elements are now supported
|
||||
WebGrab+Plus Version V3.0.0 or higher
|
||||
Version 3 April 2019 Postprocess v2.0.8
|
||||
- added optional 'source_file' variable in >filename
|
||||
- added optional operations of the elements to expand in 'Content and Values' section
|
||||
WebGrab+Plus Version V2.1.9 or higher-->
|
||||
|
||||
<!--This configuration file can be made fully functional, change the settings to your own needs as explained and save it in the rex sub-folder of the
|
||||
WebGrab+Plus homefolder as rex.config.xl-->
|
||||
|
||||
<!-- Introduction:
|
||||
The purpose of this post-processor is to re-arrange and edit the xmltv file created by the grabber section of WebGrab+Plus.
|
||||
This can be useful or necessary if the EPG viewer of the PVR/Media-Centre used, or the xmltv importer it uses, does not support all the xmltv elements
|
||||
in the xmltv file created by WG++ or simply because of some users wishes.
|
||||
It can:
|
||||
- Move the content of xmltv elements to other xmltv elements
|
||||
- Merge the content of several xmltv elements
|
||||
- Add comments/prefix/postfix text
|
||||
- Remove or create xmltv elements
|
||||
E.g.: If the PVR doesn't support import of credit elements (actors, directors etc.) it can add the content of them to the description and remove the
|
||||
original credit elements which are useless.
|
||||
Or, it can move the episode data to the beginning or end of the subtitle element
|
||||
Etc. ..
|
||||
This file (rex.config.xml), is stored in the REX postprocess home folder. By default, that is a subfolder named rex of the WebGrab+Plus home folder
|
||||
(default C:\Users\username\AppData\Local\WebGrab+Plus)
|
||||
Remark: This post-processor is only fully effective if the xmltv input has a 'clean' xmltv structure in which the data is properly allocated to the elements.
|
||||
If that is the case depends on the EPG source site and the design of the SiteIni file . Some of the (e.g. customized) SiteIni files produce xmltv data that
|
||||
targets certain PVR/Media-Centre requirements already. In these cases this postprocessor is less effective/useful.-->
|
||||
|
||||
<settings>
|
||||
<!--xmltv file :
|
||||
The xmltv target file in which the updated data will be merged with the grabbed EPG.
|
||||
Because of the incremental nature of the grabbing process this file must be different (name and/or path) from the target file of the grabbing as <filename>,
|
||||
specified in WebGrab++.config.xml . Specify path (obtional) + filename. Path can be specified absolute, like
|
||||
<filename>C:\Users\username\AppData\Local\WebGrab+Plus\rex\guide.xml</filename> or relative to the path of this config file (rex.config.xml),
|
||||
like (if guide.xml is in the same folder as the config file) : <filename>guide.xml</filename> !!
|
||||
It may contain a variable 'source_file' that will take the value of the xmltv source file (without .xml) plus text elements:
|
||||
e.g <filename>final_'source_file'_1.xml</filename> will result in final_guide_1.xml if source_file is guide.xml-->
|
||||
<filename>guide.xml</filename>
|
||||
|
||||
<!-- Configuration of the elements:-->
|
||||
<![CDATA[
|
||||
1. Content and Values:
|
||||
This is best explained in a step by step fashion:
|
||||
Suppose you want to move the actors to the end of the description. You then specify:
|
||||
<desc>'description'\n'actor'</desc>
|
||||
The result is the existing 'description', followed by, on a newline, the actor(s) separated by the standard WG++ element separator |.
|
||||
The result:
|
||||
<desc>This is the original description.
|
||||
Michael Douglas|Kim Basinger</desc>
|
||||
|
||||
You probably don't like the | as separator between the actors, so you specify another separator like this:
|
||||
<desc>'description'\n'actor(, )'</desc>
|
||||
The result:
|
||||
<desc>This is the original description.
|
||||
Michael Douglas, Kim Basinger</desc>
|
||||
|
||||
You can make this prettier by adding some text to the actors addition:
|
||||
<desc>'description'\nActors: 'actor(, )'.</desc>
|
||||
The result:
|
||||
<desc>This is the original description.
|
||||
Actors: Michael Douglas, Kim Basinger.</desc>
|
||||
|
||||
A small problem: Suppose the source xmltv show doesn't have any actors, then the result would be not so pretty:
|
||||
<desc>This is the original description.
|
||||
Actors: .</desc>
|
||||
|
||||
To avoid that, the added text can be linked to the element it must be added to, like this:
|
||||
<desc>'description'{\nActors: 'actor(, )'.}</desc>
|
||||
Result with actors:
|
||||
<desc>This is the original description.
|
||||
Actors: Michael Douglas, Kim Basinger.</desc>
|
||||
And without actors:
|
||||
<desc>This is the original description.</desc>
|
||||
|
||||
An example with some more elements:
|
||||
<desc>'description'{\n\tYear of production: 'productiondate'.}{\n\tProducer: 'producer(, )'.}{\n\tActors: 'actor(, )'.}</desc>
|
||||
Result:
|
||||
<desc>This is the original description.
|
||||
Year of production: 2002.
|
||||
Producer: Steven Spielberg.
|
||||
Actors: Michael Douglas, Kim Basinger.</desc>
|
||||
|
||||
And another one:
|
||||
<sub-title>{Episode: 'episode'\t}'subtitle'</sub-title>
|
||||
Result:
|
||||
<sub-title>Episode: 3.2/12.1 The original subtitle</sub-title>
|
||||
|
||||
You can also remove elements (but not the title!) from the xmltv listing by specifying an empty element, like this:
|
||||
<actor></actor> or simply <actor />
|
||||
This will remove all <actor> elements
|
||||
And this:
|
||||
<credits />
|
||||
Will remove the <credits> element, including all its child elements like <actor> , <producer> etc.
|
||||
|
||||
Additional options :
|
||||
|
||||
** Operations : optionally to do certain operations on the element value to expand e.g:
|
||||
These operations must be specified within the ' ' characters that specify the elementname, enclosed by [] and separated by a , e.g.
|
||||
<desc>{Summary: 'description[cleanup(style=upper), max_chars=500]'}{\nActors: 'actor(, )'}</desc>
|
||||
supported operations :
|
||||
- cleanup with style and tags arguments,
|
||||
- max_chars, max_words and max_sentences to limit the content data of the expanded element.
|
||||
|
||||
** Xmltv Attributes in content to expand: If the source xmltv element has an attribute, like lang="en" or role="rolename" (in actor) or system="US",
|
||||
it is possible to add it to the expanded content by add /a (for attribute value only) or /a+ (for attributename and value) to the element name.
|
||||
This /a or /a+ addition must be added directly after the element name, like 'actor/a' or combined with a custom separator, 'actor/a(, )'
|
||||
or combined with an operation 'country/a(/)[cleanup(style=lower)]'
|
||||
Example (assuming the actors role values are provided in the source xmltv file):
|
||||
<desc>'description'{\n\tYear of production: 'productiondate',}{ Rating: 'rating/a+'.}{\n\tProducer: 'producer(, )'.}{\n\tActors: 'actor/a+(, )'.}</desc>
|
||||
|
||||
Result:
|
||||
<desc>This is the original description.
|
||||
Year of production: 2002, Rating TV-14(system=US).
|
||||
Producer: Steven Spielberg.
|
||||
Actors: Michael Douglas(role=The carpenter), Kim Basinger(role=Mary).</desc>
|
||||
|
||||
Summary of Content/Values:
|
||||
1. Syntax
|
||||
<xmltv-element-name optional-attribute="attribute-value">content</xmltv-element-name>
|
||||
- the content of the xmltv-target elements can be specified by means of a mixture of text and element-values.
|
||||
- content can be left empty to remove the xmltv element (except the element <title>)
|
||||
- the element-values must be entered by their (wg++) element-name enclosed by ' '
|
||||
- optionally, element values can be processed by means of certain operations,
|
||||
E.g. 'description[cleanup(style=upper), max_sentences=2]'
|
||||
- optionally, element xmltv attribute values can be added to the content by adding /a (only attribute value) or /a+ (value + attributename) to the 'elementname'
|
||||
- multiple value elements (like actor) will be converted to single value elements if the xmltv-target element is a single value element, like <desc>.
|
||||
The individual values will be listed with a (standard WG++ internal element separator character) | as separator unless another separator is specified as follows:
|
||||
'element-name(separator-string)' e.g. 'actor(, )' or with attribute 'actor/a(, )'
|
||||
- text and element-names can be linked together by enclosing them by {}. This will ensure that, when the element in it is empty, everything between the {} is
|
||||
ignored. E.g. {\nProduced in : ('productiondate')}
|
||||
- the text in the xmltv-target elements may contain the following simple formatting :
|
||||
- \n or \r to force a newline
|
||||
- \t to add a tab
|
||||
|
||||
2. The allowed xmltv-target elements (the ones in the target file specified above) are :
|
||||
- IMPORTANT! : any of the next listed xmltv-target elements that is specified in this allocation specification, replaces the existing xmltv element and
|
||||
its content!
|
||||
2.1 'Full' function , these can be added, changed and removed
|
||||
<title> <sub-title> <desc> <star-rating> <director> <actor> <category> <episode> <icon>
|
||||
<review> (=optional new xmltv element)
|
||||
2.2 'Remove/Keep' only, cannot be added, changed, only removed or kept as 'is'
|
||||
<date> <producer> <writer> <presenter> <composer> <commentator> <rating> <aspect> <quality> <url> <country>
|
||||
|
||||
3. Supported element-names (from the existing xmltv listing, name definitions as in Appendix E of the documentation) to be used as content to expand:
|
||||
'title' 'description' 'starrating' 'subtitle' 'productiondate' 'category' 'director' 'actor' 'presenter' 'writer' 'composer' 'producer' 'commentator' 'rating'
|
||||
'episode' 'showicon' 'review' 'subtitles' 'premiere' 'previously-shown' 'aspect' 'quality' 'country' 'url'
|
||||
|
||||
4. Attributes
|
||||
- for each of the xmltv-elements the following attribute can be specified
|
||||
(if not specified, the existing one, if present in the xmltv, will be used) :
|
||||
- lang for <title> and <desc> , default : no attribute
|
||||
- system for <star-rating> , default : no attribute
|
||||
- type for <review> , default: type="text"
|
||||
- Existing xmltv attribute values can be added to expanded content. (see above)
|
||||
]]>
|
||||
<!-- examples-->
|
||||
<sub-title>{Episode: 'episode' }'subtitle'</sub-title>
|
||||
<desc>'description[max_words=100]'{\n\t¤ Produced in: 'productiondate'. }{¤ Category: 'category(, )'. }{\n\t¤ Actors: 'actor/a+(, )'}{\n\t¤ Director: 'director(, )'}{\n\t¤ Presenter: 'presenter(, )'}</desc>
|
||||
<credits></credits>
|
||||
<episode-num></episode-num>
|
||||
<date></date>
|
||||
<category></category>
|
||||
<review>{Ratings: 'rating(, )'.}</review>
|
||||
<rating></rating>
|
||||
</settings>
|
|
@ -1,152 +0,0 @@
|
|||
**------------------------------------------------------------------------------------------------
|
||||
* @header_start
|
||||
* WebGrab+Plus ini for grabbing EPG data from TvGuide websites
|
||||
* @Site: tv.yandex.ru
|
||||
* @MinSWversion: V1.57
|
||||
* @Revision 7 - [18/02/2019] EgiszZ
|
||||
* - ini fixes based on new web site design (title)
|
||||
* @Revision 6 - [14/10/2018] FlyGoneCrazy
|
||||
* - ini fixes based on new web site design
|
||||
* @Revision 5 - [08/11/2017] Blackbear199
|
||||
* - added UA and TR to channels.xml creation
|
||||
* @Revision 4 - [30/10/2017] Blackbear199
|
||||
* - site changes
|
||||
* @Revision 3 - [05/04/2017] Blackbear199
|
||||
* - site changes
|
||||
* @Revision 2 - [28/07/2016] Blackbear199
|
||||
* - title match fix
|
||||
* @Revision 1 - [25/07/2016] Blackbear199
|
||||
* - added subtitle
|
||||
* - added country
|
||||
* - added urlchannellogo
|
||||
* - added showicon
|
||||
* - rewrote season/episode to version 56.25+ format.
|
||||
* - set desired output,onscreen(S5 E9/10) or xmltv_ns(4.8/9.) on site{...} line.default onscreen.
|
||||
* @Revision 0 - [02/03/2016] Blackbear199
|
||||
* - creation
|
||||
* @Remarks: your_remarks
|
||||
* @header_end
|
||||
**------------------------------------------------------------------------------------------------
|
||||
|
||||
*site {loadcookie=cookie_file.txt}
|
||||
site {url=tv.yandex.ru|timezone=Europe/Moscow|maxdays=6|cultureinfo=ru-RU|charset=UTF-8|titlematchfactor=90}
|
||||
site {ratingsystem=RU|episodesystem=onscreen}
|
||||
*
|
||||
url_index{url|https://tv.yandex.ru/##region##/channels/##channel##?date=|urldate|&period=all-day}
|
||||
url_index.headers {customheader=Accept-Encoding=gzip,deflate}
|
||||
urldate.format {datestring|yyyy-MM-dd}
|
||||
*
|
||||
scope.range{(urlindex)|end}
|
||||
global_temp_1.modify {substring(type=regex)|'config_site_id' "^(\d+)##"}
|
||||
global_temp_2.modify {substring(type=regex)|'config_site_id' "##(\d+)$"}
|
||||
url_index.modify {replace|##region##|'global_temp_1'}
|
||||
url_index.modify {replace|##channel##|'global_temp_2'}
|
||||
end_scope
|
||||
*
|
||||
index_urlchannellogo {url(scope=datelogo)|https:|<img class="image__img" src="||"/>|/>}
|
||||
*
|
||||
index_showsplit.scrub {multi|"events":[{||}]}|}]}}
|
||||
index_showsplit.modify {replace|\},\{|\|}
|
||||
*
|
||||
index_urlshow {url|https://tv.yandex.ru|"url":"||",|",}
|
||||
index_urlshow.headers {customheader=Accept-Encoding=gzip,deflate}
|
||||
*
|
||||
index_temp_1.scrub {regex||"start":"\d{4}-\d{2}-\d{2}T\d{1,2}:\d{2}:\d{2}([-+]\d{2}:\d{2})"||}
|
||||
index_start.scrub {regex||"start":"(\d{4}-\d{2}-\d{2}T\d{1,2}:\d{2}:\d{2})[-+]\d{2}:\d{2}"||}
|
||||
index_stop.scrub {regex||"finish":"(\d{4}-\d{2}-\d{2}T\d{1,2}:\d{2}:\d{2})[-+]\d{2}:\d{2}"||}
|
||||
*index_title.scrub {(debug)single||||}
|
||||
index_title.scrub {regex||"finish":"[^"]*"(?:,"liveId":\d*,"yacFamilyId":\d*)?,"title":"(.*?)","||}
|
||||
index_title.scrub {regex||"finish":"[^"]*"(?:,"yacFamilyId":\d*)?,"title":"(.*?)","||}
|
||||
*index_title.scrub {single|,"title":"||"|"}
|
||||
*index_title.scrub {(debug)single|<h1 class="program-header__title" itemprop="name">||</h1>|</h1>}
|
||||
index_subtitle.scrub {single|"episodeTitle":"||","|","}
|
||||
*
|
||||
scope.range{(indexshowdetails)|end}
|
||||
index_start.modify {calculate(format=date,unix)}
|
||||
index_stop.modify {calculate(format=date,unix)}
|
||||
index_temp_2.modify {substring(type=char)|'index_temp_1' 0 1}
|
||||
index_temp_1.modify {remove(type=char)|0 1}
|
||||
index_temp_1.modify {calculate(format=F0)|3600 *}
|
||||
index_start.modify {calculate('index_temp_2' "-" format=F0)|'index_start' 'index_temp_1' +}
|
||||
index_start.modify {calculate('index_temp_2' "+" format=F0)|'index_start' 'index_temp_1' -}
|
||||
index_stop.modify {calculate('index_temp_2' "-" format=F0)|'index_stop' 'index_temp_1' +}
|
||||
index_stop.modify {calculate('index_temp_2' "+" format=F0)|'index_stop' 'index_temp_1' -}
|
||||
index_title.modify {cleanup(style=jsondecode)}
|
||||
index_title.modify {replace(type=regex)|(.*)(","title":")|}
|
||||
index_subtitle.modify {clear('index_title')}
|
||||
index_subtitle.modify {substring(type=regex)|"\s-\s\"(.*?)\""}
|
||||
*
|
||||
index_episode.modify {substring(type=regex pattern="Сезон 'S1'. 'E1'/'Et1'""Сезон 'S1'. 'E1'""'E1'/'Et1'""'E1'")|'index_title' "\s((?:Сезон\s\d+\.\s)?(?:\d+-я\s[и-]\s)?\d+-я\sсери[ия])"}
|
||||
*index_episode.modify {replace|-я и |/}
|
||||
*index_episode.modify {replace|-я - |/}
|
||||
*index_episode.modify {remove(type=regex)|-я сери[ия]}
|
||||
index_title.modify {remove(type=regex)|\.*\s(?:Сезон \d+\.\s)?(?:\d+-я\s[и-]\s)?\d+-я\sсери[ия](?:\s-*\s*\".*?\")?}
|
||||
*
|
||||
*index_subtitle.modify {substring(type=regex)|"\s-\s\"(.*?)\""}
|
||||
index_category.scrub {single|"type":{|"name":"|"|}}
|
||||
end_scope
|
||||
*
|
||||
title.modify {addstart|'index_title'} *index_title and details title often different
|
||||
title.modify {replace(type=regex)|(.*)(","title":")|}
|
||||
*description.scrub {(debug)||||}
|
||||
description.scrub {single|<meta name="description" content="||" />|" />}
|
||||
*description.scrub {(debug)regex||"description":"(.+?)","countries"||}
|
||||
*description.modify {replace(type=regex)|(","(.*))|}
|
||||
description.modify {cleanup}
|
||||
*director.scrub {multi|Режиссёр</div>|<i itemProp="name">|</i>|</div>}
|
||||
director.scrub {multi|Режиссёр|<i itemProp="name">|</i>|</div>}
|
||||
*director.scrub {(debug)regex||Режиссёр(.+?)</div>||}
|
||||
*actor.scrub {(debug)multi||||}
|
||||
*actor.scrub {multi|В ролях|<span class="program-persons__name" itemprop="name">|</span>|</div></div></div>}
|
||||
actor.scrub {regex||\{"id":\d+,"name":"(.+?)","role":"actor","||}
|
||||
actor.modify {replace(type=regex)|(.*)(,"name":")|}
|
||||
*actor.scrub {(debug)multi|"name":"||","role":"actor","|","role":"actor","}
|
||||
*actor.modify {(debug)regex||"name":"(.+?)","role":"actor","||}
|
||||
*presenter.scrub {multi|Ведущие</div>|<span>|</span>|</div>}
|
||||
presenter.scrub {multi|Ведущий</h3>|itemProp="presenter">|</span>|</div>}
|
||||
rating.scrub {single|<span class="program-header__age">||</span>|</span>}
|
||||
rating.modify {cleanup(tags="<"">")}
|
||||
*rating.scrub {single|class="program-statistics__value">||</div>|</div>}
|
||||
*starrating.scrub {single|Рейтинг КиноПоиска</div>|">|</div>|</div>}
|
||||
starrating.scrub {single|class="program-statistics__value">||</div>|</div>}
|
||||
productiondate.scrub {single|Страна и год</h3>|class="program-details__text">|</div></div>|</div></div>}
|
||||
productiondate.modify {replace(type=regex)|(.*)(, )|}
|
||||
country.scrub {single|Страна и год</h3>|class="program-details__text">|</div></div>|</div></div>}
|
||||
country.modify {replace(type=regex)|(, \d{4})|}
|
||||
showicon.scrub {single|<div class="program-header__trailer" style="background-image:url('||')">|')">}
|
||||
showicon.modify {addstart(not "")|https:}
|
||||
*
|
||||
** _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
|
||||
** ##### CHANNEL FILE CREATION (only to create the xxx-channel.xml file)
|
||||
**
|
||||
** @auto_xml_channel_start
|
||||
*url_index{url|https://tv.yandex.ru/ajax?params=%5B%7B%22name%22%3A%22i-tv-region%22%2C%22method%22%3A%22get%22%2C%22args%22%3A%7B%22params%22%3A%22%7B%5C%22type%5C%22%3A%5C%22regional%5C%22%2C%5C%22packageIds%5C%22%3A%5B%5D%2C%5C%22limit%5C%22%3A500%2C%5C%22fields%5C%22%3A%5C%22schedules%2Cchannels%2Cfinish%2Cchannel%2Cid%2Ctitle%2Cfavourite%5C%22%2C%5C%22lang%5C%22%3A%5C%22ru%5C%22%7D%22%2C%22cacheKey%22%3A%22channels%3Fparams%3D%7B%5C%22type%5C%22%3A%5C%22regional%5C%22%2C%5C%22packageIds%5C%22%3A%5B%5D%2C%5C%22limit%5C%22%3A500%2C%5C%22fields%5C%22%3A%5B%5C%22schedules%5C%22%2C%5C%22channels%5C%22%2C%5C%22finish%5C%22%2C%5C%22channel%5C%22%2C%5C%22id%5C%22%2C%5C%22title%5C%22%2C%5C%22favourite%5C%22%5D%7D%22%2C%22userRegion%22%3A%22|subpage|%22%2C%22resource%22%3A%22channels%22%2C%22ncrd%22%3A1469479392374%7D%7D%2C%7B%22name%22%3A%22i-tv-region%22%2C%22method%22%3A%22get%22%2C%22args%22%3A%7B%22params%22%3A%22%7B%5C%22type%5C%22%3A%5C%22local%5C%22%2C%5C%22packageIds%5C%22%3A%5B%5D%2C%5C%22limit%5C%22%3A500%2C%5C%22fields%5C%22%3A%5C%22schedules%2Cchannels%2Cfinish%2Cchannel%2Cid%2Ctitle%2Cfavourite%5C%22%2C%5C%22lang%5C%22%3A%5C%22ru%5C%22%7D%22%2C%22cacheKey%22%3A%22channels%3Fparams%3D%7B%5C%22type%5C%22%3A%5C%22local%5C%22%2C%5C%22packageIds%5C%22%3A%5B%5D%2C%5C%22limit%5C%22%3A500%2C%5C%22fields%5C%22%3A%5B%5C%22schedules%5C%22%2C%5C%22channels%5C%22%2C%5C%22finish%5C%22%2C%5C%22channel%5C%22%2C%5C%22id%5C%22%2C%5C%22title%5C%22%2C%5C%22favourite%5C%22%5D%7D%22%2C%22userRegion%22%3A%22|subpage|%22%2C%22resource%22%3A%22channels%22%2C%22ncrd%22%3A1469479392374%7D%7D%2C%7B%22name%22%3A%22i-tv-region%22%2C%22method%22%3A%22get%22%2C%22args%22%3A%7B%22params%22%3A%22%7B%5C%22type%5C%22%3A%5C%22satelite%5C%22%2C%5C%22packageIds%5C%22%3A%5B%5D%2C%5C%22limit%5C%22%3A500%2C%5C%22fields%5C%22%3A%5C%22schedules%2Cchannels%2Cfinish%2Cchannel%2Cid%2Ctitle%2Cfavourite%5C%22%2C%5C%22lang%5C%22%3A%5C%22ru%5C%22%7D%22%2C%22cacheKey%22%3A%22channels%3Fparams%3D%7B%5C%22type%5C%22%3A%5C%22satelite%5C%22%2C%5C%22packageIds%5C%22%3A%5B%5D%2C%5C%22limit%5C%22%3A500%2C%5C%22fields%5C%22%3A%5B%5C%22schedules%5C%22%2C%5C%22channels%5C%22%2C%5C%22finish%5C%22%2C%5C%22channel%5C%22%2C%5C%22id%5C%22%2C%5C%22title%5C%22%2C%5C%22favourite%5C%22%5D%7D%22%2C%22userRegion%22%3A%22|subpage|%22%2C%22resource%22%3A%22channels%22%2C%22ncrd%22%3A1469479392374%7D%7D%5D&sk=42a26daf72c9b3c34a81c144d6a754f0&userRegion=|subpage|&resource=null&ncrd=}
|
||||
*subpage.format {list|187|213|983}
|
||||
*index_site_id.scrub {|}
|
||||
*index_temp_9.scrub {regex||^.*$||}
|
||||
*index_temp_9.modify {replace|]\}"\}]|\|}
|
||||
*index_temp_9.modify {remove(type=element)|-1 1}
|
||||
*scope.range{(channellist)|end}
|
||||
*index_temp_4.modify {set|187\|213\|983}
|
||||
*index_temp_3.modify {set|0}
|
||||
*loop{(each "index_temp_8" in 'index_temp_9')|end}
|
||||
*index_temp_7.modify {substring(type=element)|'index_temp_4' 'index_temp_3' 1}
|
||||
*index_temp_6.modify {substring(type=regex)|'index_temp_8' ":(\d+)\}}
|
||||
*index_temp_5.modify {substring(type=regex)|'index_temp_8' "\\\"title\\\":\\\"(.+?)\\\","}
|
||||
*index_temp_6.modify {addstart|'index_temp_7'##}
|
||||
*index_temp_5.modify {addstart('index_temp_7' "187")|UA-}
|
||||
*index_temp_5.modify {addstart('index_temp_7' "213")|RU-}
|
||||
*index_temp_5.modify {addstart('index_temp_7' "983")|TR-}
|
||||
*index_temp_6.modify {replace|\||#_#}
|
||||
*index_temp_5.modify {replace|\||#_#}
|
||||
*index_site_id.modify {addend|'index_temp_6'#_#}
|
||||
*index_site_channel.modify {addend|'index_temp_5'#_#}
|
||||
*index_temp_3.modify {calculate(format=F0)|1 +}
|
||||
*end_loop
|
||||
*index_site_id.modify {replace|#_#|\|}
|
||||
*index_site_channel.modify {replace|#_#|\|}
|
||||
*index_site_id.modify {remove(type=element)|-1 1}
|
||||
*index_site_channel.modify {remove(type=element)|-1 1}
|
||||
*index_site_id.modify {cleanup(removeduplicates=equal,100 link="index_site_channel")}
|
||||
*end_scope
|
||||
** @auto_xml_channel_end
|
2298
package-lock.json
generated
Normal file
2298
package-lock.json
generated
Normal file
File diff suppressed because it is too large
Load diff
17
package.json
Normal file
17
package.json
Normal file
|
@ -0,0 +1,17 @@
|
|||
{
|
||||
"name": "epg",
|
||||
"scripts": {},
|
||||
"private": true,
|
||||
"author": "Arhey",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"axios": "^0.21.1",
|
||||
"axios-delay": "^1.0.0-rc6",
|
||||
"cheerio": "^1.0.0-rc.5",
|
||||
"commander": "^7.1.0",
|
||||
"dayjs": "^1.10.4",
|
||||
"glob": "^7.1.6",
|
||||
"jsdom": "^16.5.0",
|
||||
"xml-js": "^1.6.11"
|
||||
}
|
||||
}
|
299
sites/tv.yandex.ru.config.xml
Executable file
299
sites/tv.yandex.ru.config.xml
Executable file
|
@ -0,0 +1,299 @@
|
|||
<?xml version="1.0"?>
|
||||
<settings>
|
||||
|
||||
<filename>../../.gh-pages/guides/tv.yandex.ru.xml</filename>
|
||||
<user-agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36 Edg/79.0.309.71</user-agent>
|
||||
<days>1</days>
|
||||
|
||||
<channel site="tv.yandex.ru" site_id="1hd-99" xmltv_id="1HDMusicTelevision.ru">1 HD Music Television</channel>
|
||||
<channel site="tv.yandex.ru" site_id="2x2-29" xmltv_id="2x2.ru">2x2</channel>
|
||||
<channel site="tv.yandex.ru" site_id="360-95" xmltv_id="360deg.ru">360°</channel>
|
||||
<channel site="tv.yandex.ru" site_id="365-dney-tv-470" xmltv_id="365dneyTV.ru">365 дней ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="7-tv-1241" xmltv_id="7TV.ru">7 TV</channel>
|
||||
<channel site="tv.yandex.ru" site_id="8-kanal-456" xmltv_id="8Kanal.ru">8 Канал</channel>
|
||||
<channel site="tv.yandex.ru" site_id="a1-237" xmltv_id="A1.ru">A1</channel>
|
||||
<channel site="tv.yandex.ru" site_id="a2-89" xmltv_id="A2.ru">A2</channel>
|
||||
<channel site="tv.yandex.ru" site_id="ajara-tv-682" xmltv_id="AjaraTV.ru">Ajara TV</channel>
|
||||
<channel site="tv.yandex.ru" site_id="amc-615" xmltv_id="AMCRussia.us">AMC Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="amedia-premium-hd-238" xmltv_id="AmediaPremiumHD.ru">Amedia Premium HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="anekdot-tv-85" xmltv_id="AnekdotTV.ru">Анекдот ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="animal-planet-22" xmltv_id="AnimalPlanetRossiya.us">Animal Planet Россия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="animal-planet-hd-769" xmltv_id="AnimalPlanetRossiya.us">Animal Planet HD Россия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="avto-plyus-436" xmltv_id="AvtoPlyus.ru">Авто Плюс</channel>
|
||||
<channel site="tv.yandex.ru" site_id="baby-tv-491" xmltv_id="BabyTVPusskiy.uk">BabyTV Pусский</channel>
|
||||
<channel site="tv.yandex.ru" site_id="balashiha-tv-1115" xmltv_id="BalashihaTV.ru">Балашиха ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="bbc-572" xmltv_id="BBC.uk">BBC</channel>
|
||||
<channel site="tv.yandex.ru" site_id="bbc-entertainment-479" xmltv_id="BBCEntertainment.uk">BBC Entertainment</channel>
|
||||
<channel site="tv.yandex.ru" site_id="bbc-world-news-712" xmltv_id="BBCWorldNews.uk">BBC World News</channel>
|
||||
<channel site="tv.yandex.ru" site_id="belarus-24-468" xmltv_id="Belarus24.by">Беларусь-24</channel>
|
||||
<channel site="tv.yandex.ru" site_id="belros-675" xmltv_id="BelRos.ru">БелРос</channel>
|
||||
<channel site="tv.yandex.ru" site_id="bloomberg-552" xmltv_id="Bloomberg.us">Bloomberg</channel>
|
||||
<channel site="tv.yandex.ru" site_id="bober-1171" xmltv_id="Bober.ru">Бобер</channel>
|
||||
<channel site="tv.yandex.ru" site_id="boks-tv-1095" xmltv_id="BoksTV.ru">Бокс ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="bollywood-hd-1105" xmltv_id="BollywoodHD.ru">Bollywood HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="boomerang-741" xmltv_id="BoomerangCentralEasternEurope.us">Boomerang Central & Eastern Europe</channel>
|
||||
<channel site="tv.yandex.ru" site_id="bridge-tv-102" xmltv_id="BridgeTV.ru">Bridge TV</channel>
|
||||
<channel site="tv.yandex.ru" site_id="bridge-tv-russkiy-hit-608" xmltv_id="BridgeTVRusskiyHit.ru">Bridge TV Русский Хит</channel>
|
||||
<channel site="tv.yandex.ru" site_id="c-music-tv-496" xmltv_id="StingrayCMusic.ca">Stingray CMusic</channel>
|
||||
<channel site="tv.yandex.ru" site_id="cartoon-network-612" xmltv_id="CartoonNetworkRussiaSoutheastern European.us">Cartoon Network Russia & Southeastern European</channel>
|
||||
<channel site="tv.yandex.ru" site_id="cbs-reality-729" xmltv_id="CBSRealityEurope.us">CBS Reality Europe</channel>
|
||||
<channel site="tv.yandex.ru" site_id="centralnoe-televidenie-ctv-198" xmltv_id="Centralnoetelevidenie.ru">Центральное телевидение</channel>
|
||||
<channel site="tv.yandex.ru" site_id="che-50" xmltv_id="Che.ru">Че</channel>
|
||||
<channel site="tv.yandex.ru" site_id="chpinfo-495" xmltv_id="ChPInfo.ru">ЧП.Info</channel>
|
||||
<channel site="tv.yandex.ru" site_id="cinema-396" xmltv_id="Cinema.ru">Cinéma</channel>
|
||||
<channel site="tv.yandex.ru" site_id="cnbc-713" xmltv_id="CNBC.us">CNBC</channel>
|
||||
<channel site="tv.yandex.ru" site_id="cnn-570" xmltv_id="CNN.us">CNN</channel>
|
||||
<channel site="tv.yandex.ru" site_id="da-vinci-525" xmltv_id="DaVinci.de">Da Vinci</channel>
|
||||
<channel site="tv.yandex.ru" site_id="detektivtv-1216" xmltv_id="Detektivtv.ru">Detektiv.tv</channel>
|
||||
<channel site="tv.yandex.ru" site_id="detskiy-408" xmltv_id="Detskiy.ru">Детский</channel>
|
||||
<channel site="tv.yandex.ru" site_id="deutsche-welle-122" xmltv_id="DeutscheWelle.de">Deutsche Welle</channel>
|
||||
<channel site="tv.yandex.ru" site_id="discovery-channel-21" xmltv_id="DiscoveryChannelRossiya.us">Discovery Channel Россия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="discovery-science-524" xmltv_id="DiscoveryScienceRossiya.us">Discovery Science Россия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="discovery-vostochnaya-evropa-740" xmltv_id="DiscoveryVostochnayaEvropa.us">Discovery Восточная Европа</channel>
|
||||
<channel site="tv.yandex.ru" site_id="docubox-hd-1227" xmltv_id="DocuBoxHD.us">DocuBox HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="dojd-101" xmltv_id="Dozhd.ru">Дождь</channel>
|
||||
<channel site="tv.yandex.ru" site_id="doktor-1245" xmltv_id="Doktor.ru">Доктор</channel>
|
||||
<channel site="tv.yandex.ru" site_id="dom-kino-715" xmltv_id="Domkino.ru">Дом кино</channel>
|
||||
<channel site="tv.yandex.ru" site_id="dom-kino-premium-1213" xmltv_id="DomKinoPremium.ru">Дом Кино Премиум</channel>
|
||||
<channel site="tv.yandex.ru" site_id="domashnie-jivotnye-578" xmltv_id="Domashniezhivotnye.ru">Домашние животные</channel>
|
||||
<channel site="tv.yandex.ru" site_id="domashniy-5" xmltv_id="Domashniy.ru">Домашний</channel>
|
||||
<channel site="tv.yandex.ru" site_id="drayv-573" xmltv_id="Drayv.ru">Драйв</channel>
|
||||
<channel site="tv.yandex.ru" site_id="dtx-1146" xmltv_id="DTXRossiya.us">DTX Россия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="dushevnoe-1218" xmltv_id="NashKinoroman.ru">Наш Кинороман</channel>
|
||||
<channel site="tv.yandex.ru" site_id="e-tv-235" xmltv_id="ETV.ru">E TV</channel>
|
||||
<channel site="tv.yandex.ru" site_id="eda-64" xmltv_id="Eda.ru">Еда</channel>
|
||||
<channel site="tv.yandex.ru" site_id="eda-premium-742" xmltv_id="EdaPremium.ru">Еда Премиум</channel>
|
||||
<channel site="tv.yandex.ru" site_id="eho-tv-66" xmltv_id="EhoTV.ru">Эхо TV</channel>
|
||||
<channel site="tv.yandex.ru" site_id="english-club-tv-683" xmltv_id="EnglishClubTV.uk">English Club TV</channel>
|
||||
<channel site="tv.yandex.ru" site_id="europa-plus-tv-656" xmltv_id="EuropaPlusTV.ru">Europa Plus TV</channel>
|
||||
<channel site="tv.yandex.ru" site_id="eurosport-1-hd-591" xmltv_id="Eurosport1Rossiya.fr">Eurosport 1 HD Россия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="eurosport-2-720" xmltv_id="Eurosport2Rossiya.fr">Eurosport 2 Россия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="eurosport-677" xmltv_id="EurosportRussia.fr">Eurosport Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="evrika-1212" xmltv_id="Eureka.ru">Eureka HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="evrokino-505" xmltv_id="Evrokino.ru">Еврокино</channel>
|
||||
<channel site="tv.yandex.ru" site_id="evronovosti-121" xmltv_id="Evronovosti.ru">Евроновости</channel>
|
||||
<channel site="tv.yandex.ru" site_id="extreme-sports-484" xmltv_id="ExtremeSports.nl">Extreme Sports</channel>
|
||||
<channel site="tv.yandex.ru" site_id="fashion-box-hd-1242" xmltv_id="FashionBoxHD.us">FashionBox HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="fashion-one-4k-1204" xmltv_id="FashionOneEurope.uk">Fashion One Europe 4K</channel>
|
||||
<channel site="tv.yandex.ru" site_id="fashion-one-732" xmltv_id="FashionOneEurope.uk">Fashion One</channel>
|
||||
<channel site="tv.yandex.ru" site_id="fashion-tv-152" xmltv_id="FashionTVRussia.fr">Fashion TV Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="fast-fun-box-hd-1243" xmltv_id="FastFunBoxHD.us">Fast & FunBox HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="feniks-kino-659" xmltv_id="FeniksPlusKino.ru">Феникс+ Кино</channel>
|
||||
<channel site="tv.yandex.ru" site_id="filmbox-arthouse-1244" xmltv_id="FilmBoxArthouseWorldwide.us">FilmBox Arthouse Worldwide</channel>
|
||||
<channel site="tv.yandex.ru" site_id="filmbox-hd-1228" xmltv_id="FilmBoxHD.us">FilmBox HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="food-network-1194" xmltv_id="FoodNetworkRussia.us">Food Network Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="fox-643" xmltv_id="FoxRussia.us">Fox Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="fox-life-619" xmltv_id="FoxLifeRussia.us">Fox Life Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="france-24-86" xmltv_id="France24.fr">France 24</channel>
|
||||
<channel site="tv.yandex.ru" site_id="fuel-tv-hd-1176" xmltv_id="FuelTVHD.ru">Fuel TV HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="futbol-105" xmltv_id="Futbol.ru">Футбол</channel>
|
||||
<channel site="tv.yandex.ru" site_id="ginger-hd-1166" xmltv_id="KapitanFantastika.ru">Капитан Фантастика</channel>
|
||||
<channel site="tv.yandex.ru" site_id="global-star-62" xmltv_id="GlobalStarTV.ru">GlobalStarTV</channel>
|
||||
<channel site="tv.yandex.ru" site_id="gulli-girl-707" xmltv_id="GulliGirl.fr">Gulli Girl</channel>
|
||||
<channel site="tv.yandex.ru" site_id="h2-1191" xmltv_id="History2.us">History 2</channel>
|
||||
<channel site="tv.yandex.ru" site_id="hd-media-80" xmltv_id="HDMedia.ru">HD Медиа</channel>
|
||||
<channel site="tv.yandex.ru" site_id="hdl-528" xmltv_id="HDL.ru">HDL</channel>
|
||||
<channel site="tv.yandex.ru" site_id="history-1104" xmltv_id="HistoryRussia.us">History Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="hitv-75" xmltv_id="HITV.ru">HITV</channel>
|
||||
<channel site="tv.yandex.ru" site_id="illyuzion-424" xmltv_id="IllyuzionPlus.ru">Иллюзион +</channel>
|
||||
<channel site="tv.yandex.ru" site_id="indiyskoe-kino-700" xmltv_id="Indiyskoekino.ru">Индийское кино</channel>
|
||||
<channel site="tv.yandex.ru" site_id="insight-ultra-hd-1172" xmltv_id="InsightUltraHD.ru">Insight Ultra HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="istoriya-794" xmltv_id="Istoriya.ru">История</channel>
|
||||
<channel site="tv.yandex.ru" site_id="jara-440" xmltv_id="Zhara.ru">Жара</channel>
|
||||
<channel site="tv.yandex.ru" site_id="jimjam-569" xmltv_id="JimJamRossiya.uk">JimJam Россия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="jivaya-planeta-1134" xmltv_id="Zhivayaplaneta.ru">Живая планета</channel>
|
||||
<channel site="tv.yandex.ru" site_id="jivaya-priroda-1090" xmltv_id="Zhivayapriroda.ru">Живая природа</channel>
|
||||
<channel site="tv.yandex.ru" site_id="jivi-421" xmltv_id="Zhivi.ru">Живи!</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kaleydoskop-tv-232" xmltv_id="KaleydoskopTV.ru">Калейдоскоп ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kanal-disney-4" xmltv_id="KanalDisney.us">Канал Disney</channel>
|
||||
<channel site="tv.yandex.ru" site_id="karusel-20" xmltv_id="Karusel.ru">Карусель</channel>
|
||||
<channel site="tv.yandex.ru" site_id="khl-562" xmltv_id="KHL.ru">КХЛ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kino-tv-795" xmltv_id="KinoTV.ru">Кино ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kinohit-586" xmltv_id="Kinohit.ru">Кинохит</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kinokomediya-710" xmltv_id="Kinokomediya.ru">Кинокомедия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kinomiks-635" xmltv_id="Kinomiks.ru">Киномикс</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kinopokaz-391" xmltv_id="Kinopokaz.ru">Кинопоказ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kinopokaz-hd-2-678" xmltv_id="KinopokazHD2.ru">Кинопоказ HD-2</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kinopremera-595" xmltv_id="Kinopremera.ru">Кинопремьера</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kinopremiumhd-1147" xmltv_id="KinoPremiumHD.ru">КиноПремиумHD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kinosemya-766" xmltv_id="Kinosemya.ru">Киносемья</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kinoseriya-701" xmltv_id="Kinoseriya.ru">Киносерия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kinosvidanie-551" xmltv_id="Kinosvidanie.ru">Киносвидание</channel>
|
||||
<channel site="tv.yandex.ru" site_id="komediya-1159" xmltv_id="Komediya.ru">Комедия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="konnyy-mir-1184" xmltv_id="Konnyymir.ru">Конный мир</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kto-est-kto-685" xmltv_id="Ktoestkto.ru">Кто есть кто</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kuhnya-tv-618" xmltv_id="KuhnyaTV.ru">Кухня ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kultura-14" xmltv_id="Kultura.ru">Культура</channel>
|
||||
<channel site="tv.yandex.ru" site_id="kvn-tv-1192" xmltv_id="KVNTV.ru">КВН ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="ldpr-tv-1107" xmltv_id="LDPRTV.ru">ЛДПР ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="luxetv-542" xmltv_id="LuxeTV.lu">Luxe TV</channel>
|
||||
<channel site="tv.yandex.ru" site_id="luxury-785" xmltv_id="Luxury.ru">Luxury</channel>
|
||||
<channel site="tv.yandex.ru" site_id="lya-minor-tv-472" xmltv_id="Lyaminor.ru">Ля-минор</channel>
|
||||
<channel site="tv.yandex.ru" site_id="malysh-1214" xmltv_id="Malysh.ru">Малыш</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mama-622" xmltv_id="Mama.ru">Мама</channel>
|
||||
<channel site="tv.yandex.ru" site_id="match-arena-1173" xmltv_id="MatchArena.ru">Матч! Арена</channel>
|
||||
<channel site="tv.yandex.ru" site_id="match-boec-547" xmltv_id="MatchBoec.ru">Матч! Боец</channel>
|
||||
<channel site="tv.yandex.ru" site_id="match-futbol-1-646" xmltv_id="MatchFutbol1.ru">Матч! Футбол 1</channel>
|
||||
<channel site="tv.yandex.ru" site_id="match-futbol-2-593" xmltv_id="MatchFutbol2.ru">Матч! Футбол 2</channel>
|
||||
<channel site="tv.yandex.ru" site_id="match-futbol-3-797" xmltv_id="MatchFutbol3.ru">Матч! Футбол 3</channel>
|
||||
<channel site="tv.yandex.ru" site_id="match-igra-1174" xmltv_id="MatchIgra.ru">Матч! Игра</channel>
|
||||
<channel site="tv.yandex.ru" site_id="match-planeta-1177" xmltv_id="MatchPlaneta.ru">Матч! Планета</channel>
|
||||
<channel site="tv.yandex.ru" site_id="match-tv-49" xmltv_id="Match.ru">Матч!</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mcm-top-583" xmltv_id="MCMTopRussia.fr">MCM Top Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mezzo-600" xmltv_id="Mezzo.fr">Mezzo</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mezzo-live-hd-702" xmltv_id="MezzoLiveHD.fr">Mezzo Live HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mgm-hd-743" xmltv_id="HollywoodHD.ru">Hollywood HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mir-24-98" xmltv_id="MIR24.ru">МИР 24</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mir-54" xmltv_id="MIR.ru">МИР</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mir-seriala-209" xmltv_id="Mirseriala.ru">Мир сериала</channel>
|
||||
<channel site="tv.yandex.ru" site_id="moskva-24-73" xmltv_id="Moskva24.ru">Москва-24</channel>
|
||||
<channel site="tv.yandex.ru" site_id="moskva-doverie-641" xmltv_id="MoskvaDoverie.ru">Москва. Доверие</channel>
|
||||
<channel site="tv.yandex.ru" site_id="moya-planeta-653" xmltv_id="MoyaPlaneta.ru">Моя Планета</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mtv-dance-international-1206" xmltv_id="ClubMTV.us">Club MTV</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mtv-hits-international-1207" xmltv_id="MTVHits.us">MTV Hits</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mtv-live-international-hd-513" xmltv_id="MTVLiveHD.us">MTV Live HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mtv-rocks-international-1205" xmltv_id="MTVRocks.us">MTV Rocks</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mtv-russia-783" xmltv_id="MTVRussia.us">MTV Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mujskoe-kino-1145" xmltv_id="Muzhskoekino.ru">Мужское кино</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mujskoy-412" xmltv_id="Muzhskoy.ru">Мужской</channel>
|
||||
<channel site="tv.yandex.ru" site_id="mult-1080" xmltv_id="MULT.ru">МУЛЬТ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="multimaniya-246" xmltv_id="Multimaniya.ru">Мультимания</channel>
|
||||
<channel site="tv.yandex.ru" site_id="museum-hd-1178" xmltv_id="MuseumTV.fr">Museum TV</channel>
|
||||
<channel site="tv.yandex.ru" site_id="musicbox-tv-634" xmltv_id="MusicBoxRussia.ru">Music Box Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="muz-tv-55" xmltv_id="MUZTV.ru">МУЗ-ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="muzyka-pervogo-671" xmltv_id="MuzykaPervogo.ru">Музыка Первого</channel>
|
||||
<channel site="tv.yandex.ru" site_id="myzentv-434" xmltv_id="myZen.tv">myZen.tv</channel>
|
||||
<channel site="tv.yandex.ru" site_id="nadejda-127" xmltv_id="Nadezhda.ru">Надежда</channel>
|
||||
<channel site="tv.yandex.ru" site_id="nano-395" xmltv_id="Nano.ru">Нано</channel>
|
||||
<channel site="tv.yandex.ru" site_id="nash-detektiv-1217" xmltv_id="NashDetektiv.ru">Наш Детектив</channel>
|
||||
<channel site="tv.yandex.ru" site_id="nashe-novoe-kino-565" xmltv_id="NasheNovoeKino.ru">Наше Новое Кино</channel>
|
||||
<channel site="tv.yandex.ru" site_id="nastoyashchee-strashnoe-televidenie-577" xmltv_id="NST.ru">НСТ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="nat-geo-wild-459" xmltv_id="NationalGeographicWildRussia.us">National Geographic Wild Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="national-geographic-418" xmltv_id="NationalGeographicRussia.us">National Geographic Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="nauka-674" xmltv_id="Nauka.ru">Наука</channel>
|
||||
<channel site="tv.yandex.ru" site_id="nhk-world-japan-734" xmltv_id="NHKWorldJapan.jp">NHK World Japan</channel>
|
||||
<channel site="tv.yandex.ru" site_id="nick-jr-731" xmltv_id="NickJrRossiya.us">Nick Jr. Россия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="nickelodeon-596" xmltv_id="NickelodeonRossiya.us">Nickelodeon Россия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="nickelodeon-hd-532" xmltv_id="NickelodeonHDRossiya.us">Nickelodeon HD Россия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="nostalgiya-691" xmltv_id="Nostalgiya.ru">Ностальгия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="novyy-mir-1220" xmltv_id="Novyymir.ru">Новый мир</channel>
|
||||
<channel site="tv.yandex.ru" site_id="ntv-11" xmltv_id="NTV.ru">НТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="ntv-pravo-92" xmltv_id="NTVPravo.ru">НТВ Право</channel>
|
||||
<channel site="tv.yandex.ru" site_id="ntv-serial-93" xmltv_id="NTVSerial.ru">НТВ Сериал</channel>
|
||||
<channel site="tv.yandex.ru" site_id="ntv-stil-94" xmltv_id="NTVStil.ru">НТВ Стиль</channel>
|
||||
<channel site="tv.yandex.ru" site_id="o-1225" xmltv_id="O.ru">О!</channel>
|
||||
<channel site="tv.yandex.ru" site_id="o2tv-107" xmltv_id="O2TV.ru">О2ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="obshchestvennoe-televidenie-rossii-51" xmltv_id="OTR.ru">ОТР</channel>
|
||||
<channel site="tv.yandex.ru" site_id="ocean-tv-71" xmltv_id="OCEANTV.ru">OCEAN-TV</channel>
|
||||
<channel site="tv.yandex.ru" site_id="ohota-i-rybalka-621" xmltv_id="Ohotairybalka.ru">Охота и рыбалка</channel>
|
||||
<channel site="tv.yandex.ru" site_id="ohotnik-i-rybolov-430" xmltv_id="OhotnikiRybolov.ru">Охотник и Рыболов</channel>
|
||||
<channel site="tv.yandex.ru" site_id="orujie-511" xmltv_id="Oruzhie.ru">Оружие</channel>
|
||||
<channel site="tv.yandex.ru" site_id="ostrosyujetnoe-hd-1149" xmltv_id="OstrosyuzhetnoeHD.ru">Остросюжетное HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="otkrytyy-mir-1199" xmltv_id="Otkrytyymir.ru">Открытый мир</channel>
|
||||
<channel site="tv.yandex.ru" site_id="outdoor-channel-497" xmltv_id="OutdoorChannel.us">Outdoor Channel</channel>
|
||||
<channel site="tv.yandex.ru" site_id="paramount-channel-1209" xmltv_id="ParamountChannelRussia.us">Paramount Channel Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="paramount-comedy-733" xmltv_id="ParamountComedy Russi.us">Paramount Comedy Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="pervyy-16" xmltv_id="Pervyykanal.ru">Первый</channel>
|
||||
<channel site="tv.yandex.ru" site_id="pervyy-meteo-404" xmltv_id="Pervyymeteo.ru">Первый метео</channel>
|
||||
<channel site="tv.yandex.ru" site_id="pingvin-lolo-245" xmltv_id="PingvinLolo.ru">Пингвин Лоло</channel>
|
||||
<channel site="tv.yandex.ru" site_id="poehali-1246" xmltv_id="Poehali.ru">Поехали!</channel>
|
||||
<channel site="tv.yandex.ru" site_id="priklyucheniya-hd-499" xmltv_id="PriklyucheniyaHD.ru">Приключения HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="pro-biznes-58" xmltv_id="ProBiznes.ru">Про Бизнес</channel>
|
||||
<channel site="tv.yandex.ru" site_id="prosveshchenie-658" xmltv_id="Prosveshchenie.ru">Просвещение</channel>
|
||||
<channel site="tv.yandex.ru" site_id="psihologiya-21-538" xmltv_id="Psihologiya21.ru">Психология 21</channel>
|
||||
<channel site="tv.yandex.ru" site_id="pyatnica-42" xmltv_id="Pyatnica.ru">Пятница</channel>
|
||||
<channel site="tv.yandex.ru" site_id="pyatyy-kanal-12" xmltv_id="Pyatyykanal.ru">Пятый канал</channel>
|
||||
<channel site="tv.yandex.ru" site_id="r1-1180" xmltv_id="R1.ru">R1</channel>
|
||||
<channel site="tv.yandex.ru" site_id="radost-moya-185" xmltv_id="RadostMoya.ru">Радость Моя</channel>
|
||||
<channel site="tv.yandex.ru" site_id="raztv-84" xmltv_id="RazTV.ru">РазТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="rbk-18" xmltv_id="RBK.ru">РБК</channel>
|
||||
<channel site="tv.yandex.ru" site_id="ren-30" xmltv_id="RENTV.ru">РЕН ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="retro-tv-382" xmltv_id="RetroTV.ru">Ретро ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="rjd-575" xmltv_id="RZhD.ru">РЖД</channel>
|
||||
<channel site="tv.yandex.ru" site_id="rodnoe-kino-386" xmltv_id="Rodnoekino.ru">Родное кино</channel>
|
||||
<channel site="tv.yandex.ru" site_id="rossiya-1-31" xmltv_id="Rossiya1.ru">Россия 1</channel>
|
||||
<channel site="tv.yandex.ru" site_id="rossiya-24-3" xmltv_id="Rossiya24.ru">Россия 24</channel>
|
||||
<channel site="tv.yandex.ru" site_id="rtd-82" xmltv_id="RTD.ru">RTД</channel>
|
||||
<channel site="tv.yandex.ru" site_id="rtg-international-1169" xmltv_id="RTGInternational.ru">RTG International</channel>
|
||||
<channel site="tv.yandex.ru" site_id="rtv-lyubimoe-kino-559" xmltv_id="RTVLyubimoekino.ru">РТВ - Любимое кино</channel>
|
||||
<channel site="tv.yandex.ru" site_id="russia-today-70" xmltv_id="RT.ru">RT</channel>
|
||||
<channel site="tv.yandex.ru" site_id="russian-extreme-ultra-hd-1229" xmltv_id="RussianExtremeUltra.ru">Russian Extreme Ultra HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="russian-musicbox-177" xmltv_id="RussianMusicBox.ru">Russian MusicBox</channel>
|
||||
<channel site="tv.yandex.ru" site_id="russian-travel-guide-638" xmltv_id="RussianTravelGuide.ru">Russian Travel Guide</channel>
|
||||
<channel site="tv.yandex.ru" site_id="russkiy-bestseller-771" xmltv_id="Russkiybestseller.ru">Русский бестселлер</channel>
|
||||
<channel site="tv.yandex.ru" site_id="russkiy-detektiv-1137" xmltv_id="RusskiyDetektiv.ru">Русский Детектив</channel>
|
||||
<channel site="tv.yandex.ru" site_id="russkiy-ekstrim-523" xmltv_id="RusskiyEkstrim.ru">Русский Экстрим</channel>
|
||||
<channel site="tv.yandex.ru" site_id="russkiy-illyuzion-402" xmltv_id="RusskiyIllyuzion.ru">Русский Иллюзион</channel>
|
||||
<channel site="tv.yandex.ru" site_id="russkiy-roman-520" xmltv_id="Russkiyroman.ru">Русский роман</channel>
|
||||
<channel site="tv.yandex.ru" site_id="rutv-77" xmltv_id="RUTV.ru">RU TV</channel>
|
||||
<channel site="tv.yandex.ru" site_id="ryjiy-1141" xmltv_id="Ryzhiy.ru">Рыжий</channel>
|
||||
<channel site="tv.yandex.ru" site_id="sankt-peterburg-48" xmltv_id="SanktPeterburg.ru">Санкт-Петербург</channel>
|
||||
<channel site="tv.yandex.ru" site_id="sarafan-645" xmltv_id="Sarafan.ru">Сарафан</channel>
|
||||
<channel site="tv.yandex.ru" site_id="shanson-tb-644" xmltv_id="ShansonTV.ru">Шансон-TВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="shant-premium-1208" xmltv_id="SHANTPremium.am">SHANT Premium</channel>
|
||||
<channel site="tv.yandex.ru" site_id="shokiruyushchee-432" xmltv_id="KinopokazHD1.ru">Кинопоказ HD-1</channel>
|
||||
<channel site="tv.yandex.ru" site_id="shot-tv-537" xmltv_id="EgoistTV.ru">Эгоист ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="sony-channel-493" xmltv_id="SonyChannelRussia.us">Sony Channel Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="sony-sci-fi-576" xmltv_id="SonySciFiRussia.us">Sony Sci-Fi Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="sony-turbo-744" xmltv_id="SonyTurboRussia.us">Sony Turbo Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="sony-tv-hd-792" xmltv_id="SonyChannelRussia.us">Sony Channel Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="sovershenno-sekretno-57" xmltv_id="Sovershennosekretno.ru">Совершенно секретно</channel>
|
||||
<channel site="tv.yandex.ru" site_id="soyuz-108" xmltv_id="Soyuz.ru">Союз</channel>
|
||||
<channel site="tv.yandex.ru" site_id="spas-52" xmltv_id="SpasTV.ru">Спас ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="spike-1226" xmltv_id="SpikeRossiya.us">Spike Россия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="stingray-iconcerts-739" xmltv_id="StingrayIConcerts.ca">Stingray iConcerts</channel>
|
||||
<channel site="tv.yandex.ru" site_id="strashnoe-hd-1096" xmltv_id="StrashnoeHD.ru">Страшное HD</channel>
|
||||
<channel site="tv.yandex.ru" site_id="sts-8" xmltv_id="STS.ru">СТС</channel>
|
||||
<channel site="tv.yandex.ru" site_id="sts-love-104" xmltv_id="STSLove.ru">СТС Love</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tayny-galaktiki-736" xmltv_id="TaynyGalaktiki.ru">Тайны Галактики</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tbn-601" xmltv_id="TBN.ru">ТБН</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tdk-78" xmltv_id="TDK.ru">TDK</channel>
|
||||
<channel site="tv.yandex.ru" site_id="teatr-737" xmltv_id="Teatr.ru">Театр</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tehno-24-1109" xmltv_id="Tehno24.ru">Техно 24</channel>
|
||||
<channel site="tv.yandex.ru" site_id="telekafe-443" xmltv_id="Telekafe.ru">Телекафе</channel>
|
||||
<channel site="tv.yandex.ru" site_id="teleputeshestviya-697" xmltv_id="Teleputeshestviya.ru">Телепутешествия</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tiji-590" xmltv_id="TijiRussia.fr">Tiji Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tlc-533" xmltv_id="TLCRussia.us">TLC Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tnt-33" xmltv_id="TNT.ru">ТНТ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tnt-music-655" xmltv_id="TNTMusic.ru">ТНТ Music</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tnt4-56" xmltv_id="TNT4.ru">ТНТ4</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tnv-446" xmltv_id="TNV.ru">ТНВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tnv-planeta-188" xmltv_id="TNVplaneta.ru">ТНВ-планета</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tochkatv-68" xmltv_id="TochkaTV.ru">Точка ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="travel-channel-617" xmltv_id="TravelChannel.us">Travel Channel</channel>
|
||||
<channel site="tv.yandex.ru" site_id="traveladventure-773" xmltv_id="TravelPlusAdventure.us">Travel+Adventure</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tv-3-17" xmltv_id="TV3.ru">ТВ-3</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tv-centr-32" xmltv_id="TVCentr.ru">ТВ Центр</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tv-xxi-492" xmltv_id="TVXXI.ru">TV XXI</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tv1000-427" xmltv_id="TV1000.se">TV1000</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tv1000-action-426" xmltv_id="TV1000Action.se">TV1000 Action</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tv1000-russkoe-kino-475" xmltv_id="TV1000Russkoekino.se">TV1000 Русское кино</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tv5-monde-607" xmltv_id="TV5Monde.fr">TV5-Monde</channel>
|
||||
<channel site="tv.yandex.ru" site_id="tvrus-1230" xmltv_id="TVRUS.ru">TVRUS</channel>
|
||||
<channel site="tv.yandex.ru" site_id="usadba-689" xmltv_id="Usadba.ru">Усадьба</channel>
|
||||
<channel site="tv.yandex.ru" site_id="uspeh-63" xmltv_id="Uspeh.ru">Успех</channel>
|
||||
<channel site="tv.yandex.ru" site_id="v-mire-jivotnyh-1211" xmltv_id="Vmirezhivotnyh.ru">В мире животных</channel>
|
||||
<channel site="tv.yandex.ru" site_id="vh1-classic-438" xmltv_id="VH1Classic.uk">VH1 Classic</channel>
|
||||
<channel site="tv.yandex.ru" site_id="vh1-european-567" xmltv_id="VH1.uk">VH1</channel>
|
||||
<channel site="tv.yandex.ru" site_id="viasat-explore-579" xmltv_id="ViasatExploreRussia.se">Viasat Explore Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="viasat-history-478" xmltv_id="ViasatHistoryRussian.se">Viasat History Russian</channel>
|
||||
<channel site="tv.yandex.ru" site_id="viasat-nature-cee-684" xmltv_id="ViasatNatureRussian.se">Viasat Nature Russian</channel>
|
||||
<channel site="tv.yandex.ru" site_id="viasat-sport-548" xmltv_id="ViasatSportEast.se">Viasat Sport East</channel>
|
||||
<channel site="tv.yandex.ru" site_id="vip-comedy-777" xmltv_id="ViPComedyRussian.se">ViP Comedy Russian</channel>
|
||||
<channel site="tv.yandex.ru" site_id="vip-megahit-778" xmltv_id="ViPMegahitRussian.se">ViP Megahit Russian</channel>
|
||||
<channel site="tv.yandex.ru" site_id="vip-premiere-779" xmltv_id="ViPPremiereRussian.se">ViP Premiere</channel>
|
||||
<channel site="tv.yandex.ru" site_id="voprosy-i-otvety-501" xmltv_id="Voprosyiotvety.ru">Вопросы и ответы</channel>
|
||||
<channel site="tv.yandex.ru" site_id="vremya-649" xmltv_id="Vremya.ru">Время</channel>
|
||||
<channel site="tv.yandex.ru" site_id="world-business-channel-115" xmltv_id="WorldBusinessChannel.ru">World Business Channel</channel>
|
||||
<channel site="tv.yandex.ru" site_id="world-fashion-channel-88" xmltv_id="WorldFashionChannelRussia.ru">World Fashion Channel Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="yu-40" xmltv_id="Yu.ru">Ю</channel>
|
||||
<channel site="tv.yandex.ru" site_id="zagorodnaya-jizn-390" xmltv_id="Zagorodnayazhizn.ru">Загородная жизнь</channel>
|
||||
<channel site="tv.yandex.ru" site_id="zagorodnyy-666" xmltv_id="Zagorodnyy.ru">Загородный</channel>
|
||||
<channel site="tv.yandex.ru" site_id="zdorove-632" xmltv_id="TonusTV.ru">Тонус-ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="zdorovoe-tv-609" xmltv_id="ZdorovoeTV.ru">Здоровое ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="zee-tv-627" xmltv_id="ZeeTVRussia.in">Zee TV Russia</channel>
|
||||
<channel site="tv.yandex.ru" site_id="zoo-tv-477" xmltv_id="ZooTV.ru">Зоо ТВ</channel>
|
||||
<channel site="tv.yandex.ru" site_id="zoopark-509" xmltv_id="Zoopark.ru">Zooпарк</channel>
|
||||
<channel site="tv.yandex.ru" site_id="zvezda-15" xmltv_id="Zvezda.ru">Звезда</channel>
|
||||
|
||||
</settings>
|
24
sites/tv.yandex.ru.js
Normal file
24
sites/tv.yandex.ru.js
Normal file
|
@ -0,0 +1,24 @@
|
|||
module.exports = {
|
||||
url: function ({ date, channel }) {
|
||||
return `https://tv.yandex.ru/channel/${channel.site_id}?date=${date.format('YYYY-MM-DD')}`
|
||||
},
|
||||
parser: function ({ channel, content }) {
|
||||
const initialState = content.match(/window.__INITIAL_STATE__ = (.*);/i)[1]
|
||||
const data = JSON.parse(initialState, null, 2)
|
||||
let programs = []
|
||||
if (data.channel) {
|
||||
programs = data.channel.schedule.events.map(i => {
|
||||
return {
|
||||
title: i.title,
|
||||
description: i.program.description,
|
||||
start: i.start,
|
||||
stop: i.finish,
|
||||
lang: 'ru',
|
||||
channel: channel['xmltv_id']
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return programs
|
||||
}
|
||||
}
|
257
sites/tvguide.co.uk.config.xml
Executable file
257
sites/tvguide.co.uk.config.xml
Executable file
|
@ -0,0 +1,257 @@
|
|||
<?xml version="1.0"?>
|
||||
<settings>
|
||||
|
||||
<filename>../../.gh-pages/guides/tvguide.co.uk.xml</filename>
|
||||
<user-agent>Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36 Edg/79.0.309.71</user-agent>
|
||||
<days>1</days>
|
||||
|
||||
<channel site="tvguide.co.uk" site_id="106" xmltv_id="BBCTwoWales.uk">BBC Two Wales</channel>
|
||||
<channel site="tvguide.co.uk" site_id="109" xmltv_id="BBCFour.uk">BBC Four</channel>
|
||||
<channel site="tvguide.co.uk" site_id="112" xmltv_id="BloombergTVUK.us">Bloomberg TV UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="113" xmltv_id="BoomerangUK.us">Boomerang UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="116" xmltv_id="CartoonNetworkUK.us">Cartoon Network UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="118" xmltv_id="CBBC.uk">CBBC</channel>
|
||||
<channel site="tvguide.co.uk" site_id="119" xmltv_id="CBeebiesUK.uk">CBeebies UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="120" xmltv_id="ChallengeUK.uk">Challenge UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="121" xmltv_id="Channel4UK.uk">Channel 4 UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="123" xmltv_id="TraceHits.uk">Trace Hits</channel>
|
||||
<channel site="tvguide.co.uk" site_id="126" xmltv_id="CNN.us">CNN</channel>
|
||||
<channel site="tvguide.co.uk" site_id="127" xmltv_id="DiscoveryChannelUK.us">Discovery Channel UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="129" xmltv_id="DiscoveryHistoryUK.us">Discovery History UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="134" xmltv_id="DiscoveryScienceUK.us">Discovery Science UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="138" xmltv_id="EUK.us">E! UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="139" xmltv_id="E4UK.uk">E4 UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="140" xmltv_id="EuroNews.fr">EuroNews</channel>
|
||||
<channel site="tvguide.co.uk" site_id="142" xmltv_id="Eurosport.fr">Eurosport</channel>
|
||||
<channel site="tvguide.co.uk" site_id="145" xmltv_id="Film4UK.uk">Film4 UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="146" xmltv_id="Film4UKPlus1.uk">Film4 UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="148" xmltv_id="Channel5.uk">Channel 5</channel>
|
||||
<channel site="tvguide.co.uk" site_id="154" xmltv_id="FoxUK.us">Fox UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="161" xmltv_id="SkyHistoryPlus1.us">Sky History +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="164" xmltv_id="STVNorth.uk">STV North</channel>
|
||||
<channel site="tvguide.co.uk" site_id="165" xmltv_id="ITVAnglia.uk">ITV Anglia</channel>
|
||||
<channel site="tvguide.co.uk" site_id="167" xmltv_id="STVNorthPlus1.uk">STV North +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="168" xmltv_id="ITVCentral.uk">ITV Central</channel>
|
||||
<channel site="tvguide.co.uk" site_id="169" xmltv_id="ITVWestcountry.uk">ITV Westcountry</channel>
|
||||
<channel site="tvguide.co.uk" site_id="170" xmltv_id="ITVChannelTelevision.uk">ITV Channel Television</channel>
|
||||
<channel site="tvguide.co.uk" site_id="171" xmltv_id="ITVGranada.uk">ITV Granada</channel>
|
||||
<channel site="tvguide.co.uk" site_id="172" xmltv_id="ITVLondon.uk">ITV London</channel>
|
||||
<channel site="tvguide.co.uk" site_id="173" xmltv_id="ITVMeridian.uk">ITV Meridian</channel>
|
||||
<channel site="tvguide.co.uk" site_id="174" xmltv_id="ITVTyneTees.uk">ITV Tyne Tees</channel>
|
||||
<channel site="tvguide.co.uk" site_id="175" xmltv_id="ITVWales.uk">ITV Wales</channel>
|
||||
<channel site="tvguide.co.uk" site_id="176" xmltv_id="ITVWest.uk">ITV West</channel>
|
||||
<channel site="tvguide.co.uk" site_id="177" xmltv_id="ITVYorkshire.uk">ITV Yorkshire</channel>
|
||||
<channel site="tvguide.co.uk" site_id="178" xmltv_id="STVCentral.uk">STV Central</channel>
|
||||
<channel site="tvguide.co.uk" site_id="179" xmltv_id="UTV.uk">UTV</channel>
|
||||
<channel site="tvguide.co.uk" site_id="180" xmltv_id="ITV2.uk">ITV2</channel>
|
||||
<channel site="tvguide.co.uk" site_id="181" xmltv_id="KerrangTV.uk">Kerrang! TV</channel>
|
||||
<channel site="tvguide.co.uk" site_id="182" xmltv_id="KissTV.uk">Kiss TV</channel>
|
||||
<channel site="tvguide.co.uk" site_id="183" xmltv_id="SkyWitnessUK.uk">Sky Witness UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="184" xmltv_id="SkyWitnessUKPlus1.uk">Sky Witness UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="185" xmltv_id="Magic.uk">Magic</channel>
|
||||
<channel site="tvguide.co.uk" site_id="187" xmltv_id="MTVUK.us">MTV UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="188" xmltv_id="MTVBaseUK.us">MTV Base UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="190" xmltv_id="MTVHitsUK.us">MTV Hits UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="204" xmltv_id="MUTV.uk">MUTV</channel>
|
||||
<channel site="tvguide.co.uk" site_id="205" xmltv_id="NationalGeographicUK.us">National Geographic UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="209" xmltv_id="NickelodeonUK.us">Nickelodeon UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="211" xmltv_id="NickJrUK.us">Nick Jr. UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="212" xmltv_id="NickToonsUK.us">NickToons UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="214" xmltv_id="ComedyCentralUK.us">Comedy Central UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="215" xmltv_id="ComedyCentralExtra.us">Comedy Central Extra</channel>
|
||||
<channel site="tvguide.co.uk" site_id="223" xmltv_id="QVCUK.us">QVC UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="234" xmltv_id="S4C.uk">S4C</channel>
|
||||
<channel site="tvguide.co.uk" site_id="238" xmltv_id="SyfyUK.us">Syfy UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="248" xmltv_id="SkyCinemaPremiere.uk">Sky Cinema Premiere</channel>
|
||||
<channel site="tvguide.co.uk" site_id="249" xmltv_id="SkyCinemaPremierePlus1.uk">Sky Cinema Premiere +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="250" xmltv_id="SkyCinemaComedy.uk">Sky Cinema Comedy</channel>
|
||||
<channel site="tvguide.co.uk" site_id="257" xmltv_id="SkyNews.uk">Sky News</channel>
|
||||
<channel site="tvguide.co.uk" site_id="258" xmltv_id="SkyOneUK.uk">Sky One UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="259" xmltv_id="SkyReplayUK.uk">Sky Replay UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="267" xmltv_id="BoxHits.uk">Box Hits</channel>
|
||||
<channel site="tvguide.co.uk" site_id="279" xmltv_id="TheBoxUK.uk">The Box UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="280" xmltv_id="TogetherTV.uk">Together TV</channel>
|
||||
<channel site="tvguide.co.uk" site_id="320" xmltv_id="Yesterday.uk">Yesterday</channel>
|
||||
<channel site="tvguide.co.uk" site_id="322" xmltv_id="HGTVUK.us">HGTV UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="342" xmltv_id="RTEOne.ie">RTÉ One</channel>
|
||||
<channel site="tvguide.co.uk" site_id="344" xmltv_id="SonySAB.in">Sony SAB</channel>
|
||||
<channel site="tvguide.co.uk" site_id="346" xmltv_id="UtsavPlus.hk">Utsav Plus</channel>
|
||||
<channel site="tvguide.co.uk" site_id="349" xmltv_id="TG4.ie">TG4</channel>
|
||||
<channel site="tvguide.co.uk" site_id="352" xmltv_id="VirginMediaOne.ie">Virgin Media One</channel>
|
||||
<channel site="tvguide.co.uk" site_id="355" xmltv_id="EdenPlus1.uk">Eden +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="358" xmltv_id="HGTVUKPlus1.uk">HGTV UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="359" xmltv_id="ZeeTVUK.in">Zee TV UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="360" xmltv_id="ITV3.uk">ITV3</channel>
|
||||
<channel site="tvguide.co.uk" site_id="361" xmltv_id="More4UK.uk">More4 UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="363" xmltv_id="RTETwo.ie">RTÉ Two</channel>
|
||||
<channel site="tvguide.co.uk" site_id="367" xmltv_id="ITV4.uk">ITV4</channel>
|
||||
<channel site="tvguide.co.uk" site_id="369" xmltv_id="PickUK.uk">Pick UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="371" xmltv_id="E4UKPlus1.uk">E4 UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="374" xmltv_id="5Star.uk">5Star</channel>
|
||||
<channel site="tvguide.co.uk" site_id="375" xmltv_id="5USA.uk">5USA</channel>
|
||||
<channel site="tvguide.co.uk" site_id="376" xmltv_id="ITV2Plus1.uk">ITV2 +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="382" xmltv_id="CITV.uk">CITV</channel>
|
||||
<channel site="tvguide.co.uk" site_id="384" xmltv_id="SkyArts.uk">Sky Arts</channel>
|
||||
<channel site="tvguide.co.uk" site_id="385" xmltv_id="CBSRealityUK.us">CBS Reality UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="386" xmltv_id="DiscoveryTurboUK.us">Discovery Turbo UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="389" xmltv_id="BoomerangUKPlus1.us">Boomerang UK +1</channel>s
|
||||
<channel site="tvguide.co.uk" site_id="391" xmltv_id="CartoonitoUK.us">Cartoonito UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="392" xmltv_id="ChallengeUKPlus1.uk">Challenge UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="394" xmltv_id="CrimePlusInvestigationUK.us">Crime + Investigation UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="400" xmltv_id="Eurosport2.fr">Eurosport 2</channel>
|
||||
<channel site="tvguide.co.uk" site_id="402" xmltv_id="FoxUKPlus1.us">Fox UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="403" xmltv_id="SkyCrime.uk">Sky Crime</channel>
|
||||
<channel site="tvguide.co.uk" site_id="407" xmltv_id="NatGeoWildUK.us">Nat Geo Wild UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="409" xmltv_id="ComedyCentralUKPlus1.us">Comedy Central UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="411" xmltv_id="SyfyUKPlus1.us">Syfy UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="422" xmltv_id="ReallyUK.uk">Really UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="423" xmltv_id="YesterdayPlus1.uk">Yesterday +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="424" xmltv_id="CBSRealityUKPlus1.us">CBS Reality UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="425" xmltv_id="HorrorChannelUK.uk">Horror Channel UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="428" xmltv_id="Channel4UKPlus1.uk">Channel 4 UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="429" xmltv_id="More4UKPlus1.uk">More4 UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="432" xmltv_id="DaveUK.uk">Dave UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="435" xmltv_id="UtsavGold.hk">Utsav Gold</channel>
|
||||
<channel site="tvguide.co.uk" site_id="444" xmltv_id="AlJazeeraEnglish.qa">Al Jazeera English</channel>
|
||||
<channel site="tvguide.co.uk" site_id="446" xmltv_id="RacingTV.uk">Racing TV</channel>
|
||||
<channel site="tvguide.co.uk" site_id="447" xmltv_id="TCMMoviesPlus1.us">TCM Movies +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="454" xmltv_id="DMAXUK.us">DMAX UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="455" xmltv_id="Davejavu.uk">Dave ja vu</channel>
|
||||
<channel site="tvguide.co.uk" site_id="457" xmltv_id="CartoonNetworkUKPlus1.us">Cartoon Network UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="468" xmltv_id="Pop.uk">Pop</channel>
|
||||
<channel site="tvguide.co.uk" site_id="474" xmltv_id="ITV3Plus1.uk">ITV3 +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="477" xmltv_id="TinyPop.uk">Tiny Pop</channel>
|
||||
<channel site="tvguide.co.uk" site_id="478" xmltv_id="SkyOneUK.uk">Sky One UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="493" xmltv_id="CBSDramaUK.us">CBS Drama UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="498" xmltv_id="CBSJusticeUK.us">CBS Justice UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="499" xmltv_id="SonyMoviesClassicPlus1.us">Sony Movies Classic +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="500" xmltv_id="SonyMoviesAction.us">Sony Movies Action</channel>
|
||||
<channel site="tvguide.co.uk" site_id="504" xmltv_id="HorrorChannelUKPlus1.uk">Horror Channel UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="505" xmltv_id="SkyHistory2.us">Sky History 2</channel>
|
||||
<channel site="tvguide.co.uk" site_id="506" xmltv_id="4Music.uk">4Music</channel>
|
||||
<channel site="tvguide.co.uk" site_id="508" xmltv_id="BBCAlba.uk">BBC Alba</channel>
|
||||
<channel site="tvguide.co.uk" site_id="511" xmltv_id="WUK.ie">W UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="515" xmltv_id="WUKPlus1.ie">W UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="517" xmltv_id="GoldUK.uk">Gold UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="519" xmltv_id="GoldUKPlus1.uk">Gold UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="520" xmltv_id="AlibiUK.uk">Alibi UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="521" xmltv_id="AlibiUKPlus1.uk">Alibi UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="524" xmltv_id="SkyCinemaScifiHorror.uk">Sky Cinema Sci-fi/Horror</channel>
|
||||
<channel site="tvguide.co.uk" site_id="527" xmltv_id="SkyHistory.us">Sky History</channel>
|
||||
<channel site="tvguide.co.uk" site_id="530" xmltv_id="ITV4Plus1.uk">ITV4 +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="533" xmltv_id="3e.uk">3e</channel>
|
||||
<channel site="tvguide.co.uk" site_id="535" xmltv_id="InvestigationDiscoveryUK.us">Investigation Discovery UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="540" xmltv_id="Eden.uk">Eden</channel>
|
||||
<channel site="tvguide.co.uk" site_id="547" xmltv_id="SkyCrimePlus1.uk">Sky Crime +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="559" xmltv_id="QuestUK.us">Quest UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="566" xmltv_id="PhoenixCNE.hk">Phoenix CNE</channel>
|
||||
<channel site="tvguide.co.uk" site_id="571" xmltv_id="Channel5Plus24.uk">Channel 5 +24</channel>
|
||||
<channel site="tvguide.co.uk" site_id="572" xmltv_id="5USAPlus1.uk">5USA +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="575" xmltv_id="CrimePlusInvestigationUKPlus1.us">Crime + Investigation UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="578" xmltv_id="BTSportESPN.uk">BT Sport ESPN</channel>
|
||||
<channel site="tvguide.co.uk" site_id="58" xmltv_id="AnimalPlanetUK.uk">Animal Planet UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="586" xmltv_id="CreateandCraft.uk">Create and Craft</channel>
|
||||
<channel site="tvguide.co.uk" site_id="59" xmltv_id="AnimalPlanetUKPlus1.uk">Animal Planet UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="590" xmltv_id="CNBCUK.us">CNBC UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="594" xmltv_id="QuestUKPlus1.us">Quest UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="595" xmltv_id="FoodNetworkUKPlus1.us">Food Network UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="596" xmltv_id="FoodNetworkUK.us">Food Network UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="602" xmltv_id="Kix.hk">Kix</channel>
|
||||
<channel site="tvguide.co.uk" site_id="605" xmltv_id="Movies24Plus.uk">Movies 24+</channel>
|
||||
<channel site="tvguide.co.uk" site_id="610" xmltv_id="NHKWorldJapan.jp">NHK World Japan</channel>
|
||||
<channel site="tvguide.co.uk" site_id="614" xmltv_id="SkyCinemaThriller.uk">Sky Cinema Thriller</channel>
|
||||
<channel site="tvguide.co.uk" site_id="616" xmltv_id="DMAXUKPlus1.us">DMAX UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="618" xmltv_id="DiscoveryHistoryUKPlus1.us">Discovery History UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="619" xmltv_id="TinyPopPlus1.uk">Tiny Pop +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="621" xmltv_id="SonyMoviesActionPlus1.us">Sony Movies Action +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="625" xmltv_id="NickelodeonUKPlus1.us">Nickelodeon UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="63" xmltv_id="AtTheRaces.uk">At The Races</channel>
|
||||
<channel site="tvguide.co.uk" site_id="633" xmltv_id="SonyChannelUK.us">Sony Channel UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="634" xmltv_id="DiscoveryScienceUKPlus1.us">Discovery Science UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="636" xmltv_id="BBCRedButton1.uk">BBC Red Button 1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="637" xmltv_id="SkyCinemaHits.uk">Sky Cinema Hits</channel>
|
||||
<channel site="tvguide.co.uk" site_id="654" xmltv_id="STVHD.uk">STV HD</channel>
|
||||
<channel site="tvguide.co.uk" site_id="66" xmltv_id="BBCNews.uk">BBC News</channel>
|
||||
<channel site="tvguide.co.uk" site_id="661" xmltv_id="TCMMovies.us">TCM Movies</channel>
|
||||
<channel site="tvguide.co.uk" site_id="667" xmltv_id="PickUKPlus1.uk">Pick UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="67" xmltv_id="BBCParliament.uk">BBC Parliament</channel>
|
||||
<channel site="tvguide.co.uk" site_id="683" xmltv_id="BBCOne.uk">BBC One</channel>
|
||||
<channel site="tvguide.co.uk" site_id="695" xmltv_id="ITVYorkshirePlus1.uk">ITV Yorkshire +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="696" xmltv_id="ITVGranadaPlus1.uk">ITV Granada +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="697" xmltv_id="ITVLondonPlus1.uk">ITV London +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="698" xmltv_id="UTVPlus1.uk">UTV +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="699" xmltv_id="ITVWestPlus1.uk">ITV West +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="700" xmltv_id="ITVCentralPlus1.uk">ITV Central +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="701" xmltv_id="STVCentralPlus1.uk">STV Central +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="702" xmltv_id="MTVMusicUK.us">MTV Music UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="704" xmltv_id="SkyAtlanticUK.uk">Sky Atlantic UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="706" xmltv_id="LFCTV.uk">LFC TV</channel>
|
||||
<channel site="tvguide.co.uk" site_id="707" xmltv_id="RTUK.ru">RT UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="710" xmltv_id="SonyEntertainmentTVAsia.in">Sony Entertainment TV Asia</channel>
|
||||
<channel site="tvguide.co.uk" site_id="715" xmltv_id="PremierSports.ie">Premier Sports</channel>
|
||||
<channel site="tvguide.co.uk" site_id="716" xmltv_id="RTEJr.ie">RTÉ Jr</channel>
|
||||
<channel site="tvguide.co.uk" site_id="717" xmltv_id="RTENews.ie">RTÉ News</channel>
|
||||
<channel site="tvguide.co.uk" site_id="72" xmltv_id="BBCOneEastMidlands.uk">BBC One East Midlands</channel>
|
||||
<channel site="tvguide.co.uk" site_id="729" xmltv_id="Channel5Plus1.uk">Channel 5 +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="73" xmltv_id="BBCOneEast.uk">BBC One East</channel>
|
||||
<channel site="tvguide.co.uk" site_id="731" xmltv_id="BBCOneOxfordshire.uk">BBC One Oxfordshire</channel>
|
||||
<channel site="tvguide.co.uk" site_id="732" xmltv_id="BBCOneYorksLincs.uk">BBC One Yorks & Lincs</channel>
|
||||
<channel site="tvguide.co.uk" site_id="733" xmltv_id="BBCOneCambridgeshire.uk">BBC One Cambridgeshire</channel>
|
||||
<channel site="tvguide.co.uk" site_id="734" xmltv_id="BBCOneChannelIslands.uk">BBC One Channel Islands</channel>
|
||||
<channel site="tvguide.co.uk" site_id="74" xmltv_id="BBCOneLondon.uk">BBC One London</channel>
|
||||
<channel site="tvguide.co.uk" site_id="742" xmltv_id="SonyMovies.us">Sony Movies</channel>
|
||||
<channel site="tvguide.co.uk" site_id="743" xmltv_id="SonyMoviesPlus1.us">Sony Movies +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="75" xmltv_id="BBCOneMidlands.uk">BBC One Midlands</channel>
|
||||
<channel site="tvguide.co.uk" site_id="751" xmltv_id="PBSAmerica.us">PBS America</channel>
|
||||
<channel site="tvguide.co.uk" site_id="752" xmltv_id="4seven.uk">4seven</channel>
|
||||
<channel site="tvguide.co.uk" site_id="757" xmltv_id="IdealWorld.uk">Ideal World</channel>
|
||||
<channel site="tvguide.co.uk" site_id="76" xmltv_id="BBCOneNorthEastCumbria.uk">BBC One North East & Cumbria</channel>
|
||||
<channel site="tvguide.co.uk" site_id="77" xmltv_id="BBCOneNorthWest.uk">BBC One North West</channel>
|
||||
<channel site="tvguide.co.uk" site_id="78" xmltv_id="BBCOneNorth.uk">BBC One North</channel>
|
||||
<channel site="tvguide.co.uk" site_id="80" xmltv_id="BBCOneNorthernIreland.uk">BBC One Northern Ireland</channel>
|
||||
<channel site="tvguide.co.uk" site_id="812" xmltv_id="ITVBorder.uk">ITV Border</channel>
|
||||
<channel site="tvguide.co.uk" site_id="824" xmltv_id="SkyAtlanticUKPlus1.uk">Sky Atlantic UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="826" xmltv_id="NickJrUKPlus1.us">Nick Jr. UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="828" xmltv_id="ITVAngliaPlus1.uk">ITV Anglia +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="829" xmltv_id="ITVTynesTeesPlus1.uk">ITV Tynes Tees +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="83" xmltv_id="BBCOneSouthEast.uk">BBC One South East</channel>
|
||||
<channel site="tvguide.co.uk" site_id="830" xmltv_id="ITVWalesPlus1.uk">ITV Wales +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="832" xmltv_id="ITVMeridianPlus1.uk">ITV Meridian +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="833" xmltv_id="BBCOneNorthernIreland.uk">BBC One Northern Ireland</channel>
|
||||
<channel site="tvguide.co.uk" site_id="836" xmltv_id="BabyTVEurope.uk">BabyTV Europe</channel>
|
||||
<channel site="tvguide.co.uk" site_id="837" xmltv_id="SkyOneUKPlus1.uk">Sky One UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="84" xmltv_id="BBCOneSouthWest.uk">BBC One South West</channel>
|
||||
<channel site="tvguide.co.uk" site_id="844" xmltv_id="NationalGeographicUKPlus1.us">National Geographic UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="846" xmltv_id="DiscoveryChannelUKPlus1.us">Discovery Channel UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="85" xmltv_id="BBCOneSouth.uk">BBC One South</channel>
|
||||
<channel site="tvguide.co.uk" site_id="855" xmltv_id="BBCOneScotland.uk">BBC One Scotland</channel>
|
||||
<channel site="tvguide.co.uk" site_id="856" xmltv_id="BBCOneWales.uk">BBC One Wales</channel>
|
||||
<channel site="tvguide.co.uk" site_id="864" xmltv_id="TLCUKPlus1.us">TLC UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="865" xmltv_id="TLCUK.us">TLC UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="868" xmltv_id="ColorsRishteyEurope.in">Colors Rishtey Europe</channel>
|
||||
<channel site="tvguide.co.uk" site_id="87" xmltv_id="BBCOneWales.uk">BBC One Wales</channel>
|
||||
<channel site="tvguide.co.uk" site_id="870" xmltv_id="InvestigationDiscoveryUKPlus1.us">Investigation Discovery UK +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="871" xmltv_id="DramaUK.uk">Drama UK</channel>
|
||||
<channel site="tvguide.co.uk" site_id="874" xmltv_id="UtsavBharat.hk">Utsav Bharat</channel>
|
||||
<channel site="tvguide.co.uk" site_id="875" xmltv_id="BTSport1.uk">BT Sport 1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="877" xmltv_id="BTSport2.uk">BT Sport 2</channel>
|
||||
<channel site="tvguide.co.uk" site_id="88" xmltv_id="BBCOneWest.uk">BBC One West</channel>
|
||||
<channel site="tvguide.co.uk" site_id="881" xmltv_id="Colors.in">Colors</channel>
|
||||
<channel site="tvguide.co.uk" site_id="89" xmltv_id="BBCTwo.uk">BBC Two</channel>
|
||||
<channel site="tvguide.co.uk" site_id="901" xmltv_id="Channel5Plus1.uk">Channel 5 +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="902" xmltv_id="ITV3Plus1Freeview.uk">ITV3 +1 (Freeview)</channel>
|
||||
<channel site="tvguide.co.uk" site_id="904" xmltv_id="LondonLive.uk">London Live</channel>
|
||||
<channel site="tvguide.co.uk" site_id="906" xmltv_id="PopPlus1.uk">Pop +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="913" xmltv_id="ForcesTV.uk">Forces TV</channel>
|
||||
<channel site="tvguide.co.uk" site_id="926" xmltv_id="ITVBe.uk">ITVBe</channel>
|
||||
<channel site="tvguide.co.uk" site_id="957" xmltv_id="ITVBePlus1.uk">ITVBe +1</channel>
|
||||
<channel site="tvguide.co.uk" site_id="962" xmltv_id="VirginMediaThree.ie">Virgin Media Three</channel>
|
||||
<channel site="tvguide.co.uk" site_id="967" xmltv_id="BTSport.uk">BT Sport</channel>
|
||||
<channel site="tvguide.co.uk" site_id="973" xmltv_id="ITVBorderScotland.uk">ITV Border Scotland</channel>
|
||||
<channel site="tvguide.co.uk" site_id="979" xmltv_id="TalkingPicturesTV.uk">Talking Pictures</channel>
|
||||
<channel site="tvguide.co.uk" site_id="984" xmltv_id="AMC.us">AMC</channel>
|
||||
<channel site="tvguide.co.uk" site_id="99" xmltv_id="BBCTwoNorthernIreland.uk">BBC Two Northern Ireland</channel>
|
||||
<channel site="tvguide.co.uk" site_id="993" xmltv_id="SonyMoviesClassic.us">Sony Movies Classic</channel>
|
||||
<channel site="tvguide.co.uk" site_id="996" xmltv_id="NottsTV.uk">Notts TV</channel>
|
||||
|
||||
</settings>
|
45
sites/tvguide.co.uk.js
Normal file
45
sites/tvguide.co.uk.js
Normal file
|
@ -0,0 +1,45 @@
|
|||
const jsdom = require('jsdom')
|
||||
const { JSDOM } = jsdom
|
||||
const dayjs = require('dayjs')
|
||||
var customParseFormat = require('dayjs/plugin/customParseFormat')
|
||||
dayjs.extend(customParseFormat)
|
||||
|
||||
module.exports = {
|
||||
url: function ({ date, channel }) {
|
||||
return `https://www.tvguide.co.uk/mobile/channellisting.asp?ch=${channel.site_id}`
|
||||
},
|
||||
parser: function ({ channel, content, date }) {
|
||||
const programs = []
|
||||
const dom = new JSDOM(content)
|
||||
const channelListings = dom.window.document.querySelector('#channel-listings')
|
||||
const rows = channelListings.querySelectorAll('table:first-of-type > tbody > tr')
|
||||
|
||||
rows.forEach(tr => {
|
||||
const time = (tr.getElementsByClassName('time')[0] || { innerHTML: '' }).innerHTML
|
||||
.toString()
|
||||
.trim()
|
||||
const title = (tr.getElementsByClassName('title')[0] || { innerHTML: '' }).innerHTML
|
||||
.toString()
|
||||
.trim()
|
||||
|
||||
if (time && title) {
|
||||
const start = dayjs(time, 'h:mma')
|
||||
.set('D', date.get('D'))
|
||||
.set('M', date.get('M'))
|
||||
.set('y', date.get('y'))
|
||||
.toString()
|
||||
|
||||
programs.push({
|
||||
title,
|
||||
description: null,
|
||||
start,
|
||||
stop: null,
|
||||
lang: 'en',
|
||||
channel: channel['xmltv_id']
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
return programs
|
||||
}
|
||||
}
|
33
update.sh
33
update.sh
|
@ -1,31 +1,4 @@
|
|||
#!/bin/bash
|
||||
|
||||
#backup the current working dir
|
||||
WG_BCKP_DIR="$(pwd)"
|
||||
|
||||
function quit {
|
||||
#restore previous working dir
|
||||
cd "$WG_BCKP_DIR"
|
||||
exit $1;
|
||||
}
|
||||
|
||||
# check if mono can be found
|
||||
which mono >/dev/null 2>&1 || { echo >&2 "Mono required, but it's not installed."; quit 1; }
|
||||
|
||||
# get the absolute path of the link (or relative path)
|
||||
if [ -L $0 ] ; then
|
||||
DIR=$(dirname $(readlink -f $0)) ;
|
||||
else
|
||||
DUTDIR=$(dirname $0) ;
|
||||
if [ "${DUTDIR:0:1}" = "/" ]; then
|
||||
DIR="$DUTDIR";
|
||||
else
|
||||
DIR=$PWD/$(dirname $0) ;
|
||||
fi
|
||||
fi ;
|
||||
|
||||
mono "$DIR/bin/WebGrab+Plus.exe" "$DIR/config/en"
|
||||
mono "$DIR/bin/WebGrab+Plus.exe" "$DIR/config/ru"
|
||||
|
||||
quit 0;
|
||||
#!/bin/bash
|
||||
|
||||
# ./bin/epg-grabber/index.js --config=sites/tv.yandex.ru.config.xml && \
|
||||
./bin/epg-grabber/index.js --config=sites/tvguide.co.uk.config.xml
|
Loading…
Add table
Add a link
Reference in a new issue