Alenwar
@Alenwar
От глупыша до мастера

Как достать ссылки на страницы при парсинге?

Добрый день. При парсинге сайта https://www.olx.pl/elektronika/komputery/laptopy/ вылезает ошбика, что нет ссылки на атрибуты, NoneType

def get_url_card():
    for page_number in range(1, 3):
        sleep(2)
        url_page = f'{base_url}?page={page_number}'
        response = requests.get(url_page, headers=headers)
        page_soup = BeautifulSoup(response, "lxml")
        data_page = page_soup.find_all("div", class_="css-1sw7q4x")

        for card in data_page:
            url_card = "https://www.olx.pl" + card.find("a", class_="css-rc5s2u").a.get("href")
            yield url_card

Ответ с сайта всегда 200
Вот ссылка в коде сайта:
<a class="css-rc5s2u" href="/d/oferta/laptop-dell-latitude-e7470-i5-6300u-256sd-8gb-fhd-CID99-IDKLqHP.html">


В чем ошибка и как её решить?
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
Vindicar
@Vindicar
RTFM!
Вот ссылка в коде сайта:

Как проверял, что она в коде сайта? Небось через браузер?

Правило первое: при ошибке записывай в файл то, что тебе прислал сервер, для последущего анализа. Может, сервер понял, что твой бот - это бот, и там "уходи, противный" вместо ожидаемой тобой страницы. А может, там динамический сайт, с контентом, подгружаемым через JS.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@fergoru
.a.get("href")

Что собственно делает '.а' перед вызовом метода '.get'?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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