Update tv.mail.ru

This commit is contained in:
freearhey
2023-11-30 14:13:33 +03:00
parent 83e38412ae
commit 41e8100c77
4 changed files with 729 additions and 46 deletions
+47
View File
@@ -1,4 +1,5 @@
const { DateTime } = require('luxon')
const axios = require('axios')
module.exports = {
site: 'tv.mail.ru',
@@ -32,9 +33,55 @@ module.exports = {
})
return programs
},
async channels() {
const _ = require('lodash')
const regions = [5506, 1096, 1125, 285]
let channels = []
for (let region of regions) {
const totalPages = await getTotalPageCount(region)
const pages = Array.from(Array(totalPages).keys())
for (let page of pages) {
const data = await axios
.get('https://tv.mail.ru/ajax/channel/list/', {
params: { page },
headers: {
cookie: `s=fver=0|geo=${region};`
}
})
.then(r => r.data)
.catch(console.log)
data.channels.forEach(item => {
channels.push({
lang: 'ru',
name: item.name,
site_id: item.id
})
})
}
}
return _.uniqBy(channels, 'site_id')
}
}
async function getTotalPageCount(region) {
const data = await axios
.get(`https://tv.mail.ru/ajax/channel/list/`, {
params: { page: 0 },
headers: {
cookie: `s=fver=0|geo=${region};`
}
})
.then(r => r.data)
.catch(console.log)
return data.total
}
function parseStart(item, date) {
const dateString = `${date.format('YYYY-MM-DD')} ${item.start}`