Необходимо найти все ссылки на странице и изменить их при парсинге. Я грабблю yandex.ru и хочу все ссылки заменить на google.com и далее вывести уже готовую страницу
Подключаю express, cheerio (для работы с DOM), request (для получения страницы).
request(url, function (error, response, body) {
if (!error) {
var $ = cheerio.load(body); //получаем страницу
$('body').find('a').each(function() { // находим и меняем все ссылки
$(this).attr('href').replace(/(yandex.ru)/g, "google.com")
});
app.get('/', function (req, res) { // выводим страницу
res.send(body);
});
} else {
console.log("Произошла ошибка: " + error);
}
});
Body у меня получается без апдейта, т.е. все ссылки по прежнему yandex.ru.
функция с изменением ссылок работает.если выводить res.send($.html())
body всё равно без изменений. Как заставить cheerio после моих манипуляций апдейтнуть body?
Ответ (если кому интересно):
$('body').find('a').each(function() {
var result = $(this).attr('href').replace(/(yandex.ru)/g, "google.com")
$(this).attr("href", result)
})
Спасибо что навели на мысль
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Сделал скрипт пользовательской функции для Google Tab, которая забирает значение активной ячейки и помещает в соседнюю с той, где введена пользовательская...
Как делать что бы функция отправляла результат единожды? Надо отправлять в сокет статус пользователяЕсли пользователь перемещает курсор...