@dfhkjhg

Почему через некоторое время fetch запрос начинает возвращать ошибку?

Есть такой скрипт, с помощью puppeteer я открываю сайт и начинаю каждые 30сек кидать fetch запрос
setInterval(async () => await updateFiles(page), 30000)

const updateFiles = async page => {
    const data = await page.evaluate(async () => {
        const request = await fetch(`https://site.com`)
        const data = await request.text()

        return data
    })

    global.$ = cheerio.load(data, { decodeEntities: true })
    const results = handler(data);
    console.log(results.length)
    await db.loadFiles(results, b)
}


Какое то время все работает нормально, но потом фетч запрос перестает что либо возвращать(вроде 503 ошибка)
Как это можно исправить?
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 1
Aetae
@Aetae Куратор тега JavaScript
Тлен
5xx ошибки - ошибки сервера.
Конкретно 503 - Service Temporarily Unavailable - сервис временно недоступен.
Сервер шлёт тебя нахрен. Скорее всего там стоит защита от частых повторяющихся запросов. Либо сервер падает, но это маловероятно.
Можешь попробовать рандомизировать частоту запроса и менять заголовки и юзерагент. Но не фает что поможет.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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