При парсинге периодически выдается ошибка
"AttributeError: 'NoneType' object has no attribute 'text'", т.к. парсер не может найти нужный элемент по селектору и узнать у него text.
Данные получаю так:
fax = soup.find(id="ctl0_left_fax")
Затем добавляю в массив (на этом скрипт спотыкается):
'fax': fax.text.strip(),
Пробовал сделать проверку:
# Проверяю, если у страницы TITLE пустой, значит там нечего парсить. ХОЧУ ПРОПУСТИТЬ ДАЛЬНЕЙШИЙ ПАРСИНГ
if (len(soup.title.text.strip()) == 15) or (soup.title.text.strip() == 'testtesttest -'):
exit
# Если у страницы TITLE <16 (значит там есть какой-то контент), то посмотреть текст у селекторов
else:
list = {
'cap': cap.text.strip(),
'fax': fax.text.strip(),
'email': email.text.strip(),
}
Но почему-то это игнорируется (хотя проверял - работает).
Добавлю, что реализовал подобный алгоритм на PHP и у меня все работало.
Более того, на этапе добавления в массив я ПРЯМО В НЕМ проверял через возвращаемый тип данных через тернарный оператор, но в питоне это не проходит.