Задать вопрос
@polmit

Выдаёт ошибку AttributeError: 'NoneType' object has no attribute 'get' почему и как это исправить?

import requests
from bs4 import BeautifulSoup as bs

def parser():
    HOST = "https://www.avito.ru/"
    max_pages = 9

    for x in range(1, max_pages):
        page = requests.get("https://www.avito.ru/moskovskaya_oblast_krasnogorsk/igry_pristavki_i_programmy?p=" + str( x ) )

        soup = bs(page.content, "html.parser")

        buys = []
        items = soup.find_all("div", class_ = "snippet-horizontal")

        for item in items:
            buys.append({
                "title": item.find("a", class_= "snippet-link").get_text(strip=True),
                "link": HOST + item.find("a", class_="js-item-slider").get('href'),
            })
            for i in buys:
                print(i["title"])
                print(i["link"])

parser()
  • Вопрос задан
  • 14179 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Решения вопроса 2
@Lepilov
вызов функции get() пытается дернуть нусуществующий ключ
скорее всего здесь
"link": HOST + item.find("a", class_="js-item-slider").get('href'),

пытается получить значение по ключу 'href' но такого ключа нет, так как там None
Ответ написан
trapwalker
@trapwalker Куратор тега Python
Программист, энтузиаст
item.find("a", class_="js-item-slider")
У вас скорее всего вот этот вызов возвращает None. А у него нет метода .get
Вообще в таких случаях нужно полностью приводить трейс-бэк, чтобы нам не приходилось гадать на кофейной гуще.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽