@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()
  • Вопрос задан
  • 13638 просмотров
Решения вопроса 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
Вообще в таких случаях нужно полностью приводить трейс-бэк, чтобы нам не приходилось гадать на кофейной гуще.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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