30 lines
750 B
JavaScript
30 lines
750 B
JavaScript
const got = require('got')
|
|
const cheerio = require('cheerio')
|
|
const fs = require('fs')
|
|
const PLAYLIST_URL = 'https://nintendoradioplaylist2.000webhostapp.com/Livestream%20Playlist.html'
|
|
|
|
function scrapePlaylist(url) {
|
|
got(url).then(res => {
|
|
const $ = cheerio.load(res.body)
|
|
const playlist = []
|
|
$('#playlistTableBody tr').each((i, row) => {
|
|
const cells = $(row).find('td')
|
|
const album = $(cells[1]).text()
|
|
const track = $(cells[2]).text()
|
|
const duration = $(cells[3]).text()
|
|
playlist.push({album, track, duration})
|
|
})
|
|
fs.writeFileSync('playlist.json', JSON.stringify(playlist))
|
|
}).catch(err => {
|
|
console.log(err)
|
|
});
|
|
}
|
|
|
|
module.exports = {
|
|
scrapePlaylist
|
|
}
|
|
|
|
if (require.main === module) {
|
|
scrapePlaylist(PLAYLIST_URL)
|
|
}
|