@DmitriyKLN

При парсинге выдает ошибку 503. В чем может проблема?

from bs4 import BeautifulSoup
import requests

url = requests.get('https://www.eldorado.ru/?utm_source=yandex&utm_medium=organic&utm_campaign=yandex&utm_referrer=yandex')

headers = {
    "Accept": "*/*",
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
    }

req = requests.get(url, headers=headers)
src = req.text
print(src)

Буду рад, если распишите более подробно, как обходить данную ошибку.
  • Вопрос задан
  • 218 просмотров
Решения вопроса 1
Mike_Ro
@Mike_Ro Куратор тега Python
Python, JS, WordPress, SEO, Bots, Adversting
При парсинге выдает ошибку 503. В чем может проблема?

В данном исполнение - никак. requests возвращает html, который сервер вернул при первом запросе, а сервер первым возвращает 503 ответ, затем js loader (загрузку), а уже затем необходимую страницу.
КартинкО
65fbd419a63e3055208155.png

Буду рад, если распишите более подробно, как обходить данную ошибку.

В данном случае - использовать selenium + undetected_chromedriver/selenium-stealth.
Я сильно сомневаюсь, что этот сайт без антибот защиты

MagicMight прав, а DmitriyKLN еще придется с этой защитой столкнуться.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@MagicMight
no magic quotes
Потому что (как минимум) неправильный набор хедеров. Это можно проверить даже скопировав оригинал запроса в curl и выполнив его там, получить валидный ответ. А потом порезать хедеры до того, что вы предложили.
И он кинет в ответ 503 ошибку. Чтобы удостовериться, используйте опцию curl --head.
Я сильно сомневаюсь, что этот сайт без антибот защиты, чтобы его можно было долго так бомбить в лоб
Ответ написан
Комментировать
@otolaa
там сайт на next.js если нужно спарсить то нужно через selenium заходить
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы