Вы можете использовать iconv
и cheerio
.
Я сделал для вас функциональный пример:
const rp = require('request-promise');
const iconv = require('iconv-lite');
const cheerio = require('cheerio');
const getRequestDefault = (method) => (url) =>
rp({
encoding: null,
method: method,
uri: url,
rejectUnauthorized: false
})
.then(html => {
const $ = cheerio.load(
iconv.decode(
new Buffer(html), "ISO-8859-1"
)
);
return $;
})
const getRows = () =>
getRequestDefault('GET')(`https://www101.dcu.ie/timetables/feed.php?prog=case&per=2&week1=19&week2=30&day=7&hour=1-20&template=Studprog`)
.then($ => {
// Example
$('table tbody tr')
.toArray()
.forEach(
a => {
console.log($(a).text());
}
);
});
getRows();
Это приведет к удалению всех полей tr
всех таблиц.
Вы можете использоватьэто как отправная точка.Просто скопируйте код в файл .js, установите зависимости и используйте: node file.js
Чтобы установить зависимости: npm install cheerio iconv request request-promise
Надеюсь, это поможет вам