@teertsneerg

Почему я не могу получить код сайта nodejs?

Пытаюсь спарсить исходный код сайта данным скриптом:

var request = require('request');

request({
		method: 'get',
		url: 'https://www.sitename',
		gzip: true,
        followRedirect: true,
		headers: {
			'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.87 Safari/537.36'
		}
	}, (err, resp, body) => {
        console.log(err); 
        console.log(body);     
});


С большинством сайтов всё хорошо, код отображается, но с этим проблемы. Через браузер всё отображается, если делаю запрос через скрипт, то получаю такую ошибку:
{ Error: read ECONNRESET
    at TLSWrap.onStreamRead (internal/stream_base_commons.js:111:27) errno: 'ECONNRESET', code: 'ECONNRESET', syscall: 'read' }
  • Вопрос задан
  • 802 просмотра
Решения вопроса 1
Возможно, на этом сайте используется что-то более сложное, чем просто request/response get-запроса, например, использование веб-сокета, тут нужно углубляться в работу сайта
Если нет желания тратить на это время, можно посмотреть на puppeteer - библиотеку от разработчиков chrome, которая запускает headless-версию chrome, с помощью которой можно пропарсиьь страницу так же, как если бы она была открыта вручную в браузере
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы