Загрузка веб-страницы

TypeScript:
Загрузка веб-страницы

Как это сделать:

Вы можете загрузить веб-страницу на TypeScript, используя Node.js и библиотеку node-fetch. Вот как:

import fetch from 'node-fetch';

async function downloadWebPage(url: string): Promise<void> {
    try {
        const response = await fetch(url);
        const body = await response.text();
        console.log(body); // Выводит HTML содержимое в консоль
    } catch (error) {
        console.error('Не удалось загрузить:', error);
    }
}

// Использование функции
downloadWebPage('https://example.com');

Пример вывода (обрезанный):

<!doctype html>
<html>
<head>
    <title>Пример домена</title>
...
</html>

Глубокое погружение

Исторически веб-контент загружался с использованием таких инструментов, как wget или curl в командной строке. Однако, в современном программировании у нас есть библиотеки такие как node-fetch, axios или request (устаревшая, но все еще используемая), которые предоставляют больше функциональности и легче интегрируются в наши JavaScript/TypeScript приложения.

При загрузке веб-страницы есть не только HTML. CSS, JavaScript, изображения и другие ресурсы также входят в комплект. Обычно сначала получают только HTML, а затем любая дополнительная обработка или загрузка определяется тем, что вам нужно со страницы.

С точки зрения реализации, node-fetch по сути представляет собой API window.fetch для Node.js. Он возвращает промис, который разрешается в ответ на запрос, позволяя вам получить поток текста (.text()), объект JSON (.json()) или даже буфер (.buffer()) для двоичных данных.

Имейте в виду, что права на веб-скрапинг определяются файлом robots.txt веб-сайта и условиями обслуживания. Всегда проверяйте, разрешено ли вам скрапинг сайта, и соблюдайте лимиты скорости, чтобы избежать юридических проблем или блокировки вашего IP.

Смотрите также