@m000gg
m000gg

Как решить проблему AttributeError: 'NoneType' object has no attribute 'text'?

Я парсил сайт цитрус, а именно https://www.ctrs.com.ua/smartfony/brand-apple/seri...
вот код
import requests
from bs4 import BeautifulSoup

url = 'https://www.ctrs.com.ua/smartfony/brand-apple/seriya_iphone-13_iphone-13-mini_iphone-13-pro_iphone-13-pro-max/'

response = requests.get(url)
soup = BeautifulSoup(response.text, 'lxml')


priecelist=[]

phones = soup.findAll('div',class_ ='br10 p8 border-box pr productCardCategory-0-2-281')
#print(phones)
for phone in phones:
    print("-------------------------------------------------------------------------------------------------------------")
    name = phone.find('a', class_='link line-clamp-2 break-word link-0-2-284').text
    price = phone.find('div', class_='medium fz16 price-0-2-313').text
    link = phone.find('a', class_='link line-clamp-2 break-word link-0-2-284').get('href')
    print("https://www.ctrs.com.ua" + str(link))
    print(name)
    print(price)
    priecelist.append(price)

print("-------------------------------------------------------------------------------------------------------------")
print(priecelist)

в итоге появилась ошибка

Traceback (most recent call last):
File "C:\Users\...", line 22, in
price = phone.find('div', class_='medium fz16 price-0-2-313').text
AttributeError: 'NoneType' object has no attribute 'text'

что делать?
  • Вопрос задан
  • 517 просмотров
Решения вопроса 1
AlexNest
@AlexNest Куратор тега Python
Работаю с Python/Django
Очевидно, что не найден соответствующий блок.
Собственно, варианта "почему" три:
  • Неправильно "обращаетесь к блоку" (С BS не работал и судить не могу)
  • Сайт понимает, что вы его парсите и уходит в защиту (В теории - должно помочь добавление в запрос "браузерных" заголовков)
  • Сайт грузит данные с помощью js, который "внутри" BS не работает и, как следствие, загрузка данных не происходит. (Поможет Selenium)
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
19 апр. 2024, в 03:52
1000 руб./за проект
19 апр. 2024, в 03:01
1000 руб./за проект
18 апр. 2024, в 21:56
2000 руб./за проект