Update ontvtonight.com

This commit is contained in:
freearhey 2023-11-26 11:27:13 +03:00
parent eaf72e0ae8
commit 2dafd22506
7 changed files with 5312 additions and 208 deletions

View file

@ -8,20 +8,13 @@ dayjs.extend(utc)
dayjs.extend(timezone) dayjs.extend(timezone)
dayjs.extend(customParseFormat) dayjs.extend(customParseFormat)
const tz = {
au: 'Australia/Sydney',
ie: 'Europe/Dublin',
uk: 'Europe/London',
us: 'America/New_York'
}
module.exports = { module.exports = {
site: 'ontvtonight.com', site: 'ontvtonight.com',
days: 2, days: 2,
url: function ({ date, channel }) { url: function ({ date, channel }) {
const [region, id] = channel.site_id.split('#') const [region, id] = channel.site_id.split('#')
let url = 'https://www.ontvtonight.com' let url = 'https://www.ontvtonight.com'
if (region) url += `/${region}` if (region && region !== 'us') url += `/${region}`
url += `/guide/listings/channel/${id}.html?dt=${date.format('YYYY-MM-DD')}` url += `/guide/listings/channel/${id}.html?dt=${date.format('YYYY-MM-DD')}`
return url return url
@ -50,16 +43,124 @@ module.exports = {
}) })
return programs return programs
},
async channels({ country }) {
const axios = require('axios')
const _ = require('lodash')
const providers = {
au: ['o', 'a'],
ca: [
'Y464014423',
'-464014503',
'-464014594',
'-464014738',
'X3153330286',
'X464014503',
'X464013696',
'X464014594',
'X464014738',
'X464014470',
'X464013514',
'X1210684931',
'T3153330286',
'T464014503',
'T1810267316',
'T1210684931'
],
us: [
'Y341768590',
'Y1693286984',
'Y8833268284',
'-341767428',
'-341769166',
'-341769884',
'-3679985536',
'-341766967',
'X4100694897',
'X341767428',
'X341768182',
'X341767434',
'X341768272',
'X341769884',
'X3679985536',
'X3679984937',
'X341764975',
'X3679985052',
'X341766967',
'K4805071612',
'K5039655414'
]
}
const regions = {
au: [
1, 2, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 17, 18, 29, 28, 27, 26, 25, 23, 22,
21, 20, 19, 24, 30, 31, 32, 33, 34, 35, 36, 39, 38, 37, 40, 41, 42, 43, 44, 45, 46, 47, 48,
49, 50, 51, 52, 53
],
ca: [null],
us: [null]
}
const zipcodes = {
au: [null],
ca: ['M5G1P5', 'H3B1X8', 'V6Z2H7', 'T2P3E6', 'T5J2Z2', 'K1P1B1'],
us: [10199, 90052, 60607, 77201, 85026, 19104, 78284, 92199, 75260]
}
const channels = []
for (let provider of providers[country]) {
for (let zipcode of zipcodes[country]) {
for (let region of regions[country]) {
let url = 'https://www.ontvtonight.com'
if (country === 'us') url += '/guide/schedule'
else url += `/${country}/guide/schedule`
const data = await axios
.post(url, null, {
params: {
provider,
region,
zipcode,
TVperiod: 'Night',
date: dayjs().format('YYYY-MM-DD'),
st: 0,
is_mobile: 1
}
})
.then(r => r.data)
.catch(console.log)
const $ = cheerio.load(data)
$('.channelname').each((i, el) => {
let name = $(el).find('center > a:eq(1)').text()
name = name.replace(/\-\-/gi, '-')
const url = $(el).find('center > a:eq(1)').attr('href')
const [, number, slug] = url.match(/\/(\d+)\/(.*)\.html$/)
channels.push({
lang: 'en',
name,
site_id: `${country}#${number}/${slug}`
})
})
}
}
}
return _.uniqBy(channels, 'site_id')
} }
} }
function parseStart($item, date, channel) { function parseStart($item, date, channel) {
const timezones = {
au: 'Australia/Sydney',
ca: 'America/Toronto',
us: 'America/New_York'
}
const [region] = channel.site_id.split('#') const [region] = channel.site_id.split('#')
const timezone = region ? tz[region] : tz['uk']
const timeString = $item('td:nth-child(1) > h5').text().trim() const timeString = $item('td:nth-child(1) > h5').text().trim()
const dateString = `${date.format('YYYY-MM-DD')} ${timeString}` const dateString = `${date.format('YYYY-MM-DD')} ${timeString}`
return dayjs.tz(dateString, 'YYYY-MM-DD H:mm a', timezone) return dayjs.tz(dateString, 'YYYY-MM-DD H:mm a', timezones[region])
} }
function parseTitle($item) { function parseTitle($item) {

View file

@ -1,5 +1,7 @@
// npm run grab -- --site=ontvtonight.com // npm run channels:parse -- --config=./sites/ontvtonight.com/ontvtonight.com.config.js --output=./sites/ontvtonight.com/ontvtonight.com_au.channels.xml --set=country:au
// npm run grab -- --site=ontvtonight.com // npm run channels:parse -- --config=./sites/ontvtonight.com/ontvtonight.com.config.js --output=./sites/ontvtonight.com/ontvtonight.com_ca.channels.xml --set=country:ca
// npm run channels:parse -- --config=./sites/ontvtonight.com/ontvtonight.com.config.js --output=./sites/ontvtonight.com/ontvtonight.com_us.channels.xml --set=country:us
// npm run grab -- --channels=./sites/ontvtonight.com/ontvtonight.com_ca.channels.xml
const { parser, url } = require('./ontvtonight.com.config.js') const { parser, url } = require('./ontvtonight.com.config.js')
const dayjs = require('dayjs') const dayjs = require('dayjs')

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channels>
<channel site="ontvtonight.com" lang="en" xmltv_id="OireachtasTV.ie" site_id="ie#69044129/oireachtas-tv">Oireachtas TV</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="RTENews.ie" site_id="ie#69042526/rte-news-now">RTÉ News</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="TG4.ie" site_id="ie#69037081/tg4-t-na-g">TG 4</channel>
</channels>

View file

@ -1,101 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<channels>
<!-- <channel site="ontvtonight.com" lang="en" xmltv_id="" site_id="uk#69041727/ideal-extra">Ideal Extra</channel> -->
<channel site="ontvtonight.com" lang="en" xmltv_id="4seven.uk" site_id="uk#69045786/4seven">4Seven</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="5Action.uk" site_id="uk#6311243774/5-action">5 Action</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="5SELECT.uk" site_id="uk#937022419/5select">5 Select</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="5STAR.uk" site_id="uk#69035187/5star">5 Star</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="5USA.uk" site_id="uk#69035191/five-us">5 USA</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="92NewsHD.pk" site_id="uk#5627466457/92-news">92 News</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="AhlulbaytTV.uk" site_id="uk#69041391/ahlulbayt-tv">Ahlulbayt TV</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="AkaalChannel.uk" site_id="uk#756379060/akaal-channel">Akaal Channel UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="AlJazeeraEnglish.qa" site_id="uk#69035251/al-jazeera-english">Aljazeera English</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="BBCFour.uk" site_id="uk#69035379/bbc-four">BBC Four</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="BBCNews.uk" site_id="uk#69035345/bbc-news">BBC News</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="BBCOne.uk" site_id="uk#69038686/bbc-1-hdtv">BBC One</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="BBCOneLondon.uk" site_id="uk#69035334/bbc-1-london">BBC One London</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="BBCOneScotland.uk" site_id="uk#69035339/bbc-1-scotland">BBC One Scotland</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="BBCParliament.uk" site_id="uk#69035446/bbc-parliament">BBC Parliament</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="BBCRedButton1.uk" site_id="uk#69035378/bbc-red-button-1">BBC Red Button 1</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="BBCTwo.uk" site_id="uk#69035372/bbc-2">BBC Two</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Blaze.uk" site_id="uk#4006438889/blaze">Blaze UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="BoxHits.uk" site_id="uk#3595458201/box-hits">Box Hits</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="BritAsiaTV.uk" site_id="uk#69041685/brit-asia-tv">Brit Asia TV</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="CBBC.uk" site_id="uk#69035514/cbbc">CBBC</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="CBeebies.uk" site_id="uk#69035398/cbeebies">CBeebies UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="RealityXtra.uk" site_id="uk#69041400/cbs-drama">CBS Drama UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="CBSJustice.uk" site_id="uk#69041399/cbs-justice">CBS Justice UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="CBSReality.uk" site_id="uk#3252588388/cbs-reality-united-kingdom">CBS Reality UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Challenge.uk" site_id="uk#69035904/challenge-tv">Challenge UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="ChallengePlus1.uk" site_id="uk#69041220/challenge-1">Challenge +1 UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Channel5.uk" site_id="uk#69035571/channel-5">Channel 5</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Channel5Plus1.uk" site_id="uk#69044074/channel-5-1">Channel 5 +1</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="CITV.uk" site_id="uk#69035594/citv">CITV</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="CreateandCraft.uk" site_id="uk#69039491/create-craft">Create and Craft</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Cruise1stTV.uk" site_id="uk#7775078572/cruise-1sttv">Cruise 1st TV</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Dave.uk" site_id="uk#69035716/dave">Dave UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Davejavu.uk" site_id="uk#69045522/dave-ja-vu-freeview">Dave ja vu</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="DMAX.uk" site_id="uk#863385169/discovery-dmax-uk">DMAX UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Drama.uk" site_id="uk#664631766/drama">Drama UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="DramaPlus1.uk" site_id="uk#7774907383/drama-1">Drama UK +1</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="E4.uk" site_id="uk#69035831/e4">E4 UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="E4Extra.uk" site_id="uk#69036010/e4-extra">E4 Extra</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="E4Plus1.uk" site_id="uk#69035812/e41">E4 UK +1</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="EmanChannel.uk" site_id="uk#1511654913/eman-tv">Eman Channel</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Film4.uk" site_id="uk#69035909/film4">Film 4 UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Film4Plus1.uk" site_id="uk#69035897/film41">Film 4 UK +1</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="FoodNetwork.uk" site_id="uk#69039463/food-network-uk">Food Network UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="GemsTV.uk" site_id="uk#69039490/gems-tv">Gems TV</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="GREATmovies.uk" site_id="uk#69046254/great-movies">Great! Movies</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="GREATaction.uk" site_id="uk#69041512/great-movies-action">Great! Movies Action</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="GREATromance.uk" site_id="uk#69041290/great-movies-classic">Great! Movies Classic</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="GREATromancePlus1.uk" site_id="uk#69039341/great-movies-classic1">Great! Movies Classic +1</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="GREATtv.uk" site_id="uk#69041546/great-tv">Great! TV</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="GREATtvPlus1.uk" site_id="uk#69036832/great-tv1">Great! TV +1</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="HGTV.uk" site_id="uk#69037265/hgtv">HGTV UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="IdealWorldTV.uk" site_id="uk#69036047/ideal-world">Ideal World</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="ITV1.uk" site_id="uk#69036056/itv-london">ITV London</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="ITV2.uk" site_id="uk#69036076/itv2">ITV 2</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="ITV2Plus1.uk" site_id="uk#69036040/itv21">ITV 2 +1</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="ITV3.uk" site_id="uk#69036077/itv3">ITV 3</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="ITV3Plus1.uk" site_id="uk#69041275/itv3-1">ITV 3 +1</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="ITV4.uk" site_id="uk#69036078/itv4">ITV 4</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="ITV4Plus1.uk" site_id="uk#69041276/itv4-1">ITV 4 +1</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="ITVBe.uk" site_id="uk#1207930957/itvbe">ITV Be</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="JewelleryMaker.uk" site_id="uk#4515130174/jewellery-maker">Jewellery Maker</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="KanshiTV.uk" site_id="uk#5073537893/kanshi-tv">Kanshi TV</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="KTO.fr" site_id="uk#69036171/kto-la-chaine-catholique">KTO</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Legend.uk" site_id="uk#69040564/horror-channel-uk">Horror Channel UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="LondonLive.uk" site_id="uk#950961703/london-live">London Live</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="More4.uk" site_id="uk#69036330/more4">More 4 UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Now80s.uk" site_id="uk#804653420/now-80s">Now 80&apos;s</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="PBSAmerica.uk" site_id="uk#69044017/pbs-america">PBS America</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="SkyMix.uk" site_id="uk#69036986/pick-tv">Pick UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Pop.uk" site_id="uk#69040588/pop">Pop</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="QuestRed.uk" site_id="uk#4606690382/quest-red">Quest Red UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="QuestRedPlus1.uk" site_id="uk#4645499309/quest-red1">Quest Red UK +1</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Quest.uk" site_id="uk#69035787/quest">Quest UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="QuestPlus1.uk" site_id="uk#69041602/quest-1">Quest UK +1</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="QVCBeauty.uk" site_id="uk#69041735/qvc-beauty">QVC Beauty</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="QVCStyle.uk" site_id="uk#441168765/qvc-style">QVC Style UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="QVC.uk" site_id="uk#69036651/qvc-uk">QVC UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="RacingTV.uk" site_id="uk#69040591/racing-uk">Racing TV</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Really.uk" site_id="uk#69037274/really">Really UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="RT.ru" site_id="uk#322672042/rt-english-hdtv">RT News</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="RTUK.uk" site_id="uk#69036669/russia-today">RT UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="SangatTV.uk" site_id="uk#69042021/sangat">Sangat TV</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="SBNTVInternational.us" site_id="uk#69043552/sonlife-network-eu">SBN International</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="SkyArts.uk" site_id="uk#69035314/sky-arts">Sky Arts UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="SkyMax.uk" site_id="uk#69036865/sky-max">Sky Max UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="SmithsonianChannel.uk" site_id="uk#7051414680/smithsonian">Smithsonian Channel UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="MusicMemories.uk" site_id="uk#7497801352/spotlight-tv">Spotlight TV</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="TalkingPicturesTV.uk" site_id="uk#1632302783/talking-pictures-tv">Talking Pictures TV</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="TBNUK.uk" site_id="uk#7551679520/tbn-uk">TBN UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="TheBox.uk" site_id="uk#69037030/the-box">The Box UK</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="TinyPop.uk" site_id="uk#69040600/tiny-pop">Tiny Pop</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="TJC.uk" site_id="uk#1652397656/jewellery-channel">TJC</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="TogetherTV.uk" site_id="uk#69035699/together-tv">Together TV</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="ViaplayXtra.uk" site_id="uk#5310705194/freesports">ViaplayXtra</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="Yesterday.uk" site_id="uk#69037260/yesterday">Yesterday</channel>
<channel site="ontvtonight.com" lang="en" xmltv_id="YesterdayPlus1.uk" site_id="uk#69041611/yesterday-1">Yesterday +1</channel>
</channels>

File diff suppressed because it is too large Load diff