Форум программистов, компьютерный форум, киберфорум
Python для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779

Если переменная пустая, то нужно отправлять свое значение

11.02.2025, 22:32. Показов 1667. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени!

Ситуация такая, скрипт парсит сайт донор
И в цикле выдергует телефон и сайт
но бывает так что не во всех статьях сайта донора указан сайт или телефон и поэтому если сайт не указан то поиск .find('a',attrs={'rel':'noopener'}).text ничего не находит так как его нет в теле хтмл.
Мне нужно чтобы если переменная сайт или телефон была пуста то возвращало в переменную
сайт не указан
телефон не указан


Python
1
2
3
4
5
for x in sect:
            p = x.find_all('p', class_="y-css-19xonnr") 
 
            site = p[0].find('a',attrs={'rel':'noopener'}).text
            phone = p[1].text

пробовал так, но не получается тоже

Python
1
2
3
4
5
6
7
8
9
10
for x in sect:
            p = x.find_all('p', class_="y-css-19xonnr") 
try:
            site = p[0].find('a',attrs={'rel':'noopener'}).text
except:
            site = "сайт не указан"
try:
            phone = p[1].text
except:
            phone = "телефон не указан"

Как мне правильно решить такой ворос?

Добавлено через 10 минут
скрипт парсит и работает исправно когда на странице указан телефон и адрес сайт, а вот если
или телефон или сайт не указан или оба не указаны то скрипт завершает работу, а мне нужно чтобы он продолжат просто передал в переменные

сайт не указан
или
телефон не указан

и продолжал работать
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
11.02.2025, 22:32
Ответы с готовыми решениями:

Даны натуральные K и L. Если К кратно L, нужно поменять местами значения этих переменных, в противном случае присвоить L
Здравствуйте, помогите решить задание. Даны натуральные K и L. Если К кратно L, нужно поменять местами значения этих переменных, в...

Какое значение примет переменная после выполнения фрагмента алгоритма, если переменная а имела значение 'ИНФОРМАТИКА'
Имеется фрагмент алгоритма, записанный на алгоритмическом языке: m := 10 b := Извлечь(а, m) нц для k от 4 до 5 с := Извлечь(а,...

Какое значение примет переменная i после выполнения этого фрагмента алгоритма, если переменная а имела заданное значение
Доброго времени суток. Не могу решить задание оно приведено ниже, из-за перевода с английского на русский не понимаю какую функцию здесь...

3
Автоматизируй это!
Эксперт Python
 Аватар для Welemir1
7391 / 4818 / 1246
Регистрация: 30.03.2015
Сообщений: 13,691
Записей в блоге: 29
12.02.2025, 06:41
Лучший ответ Сообщение было отмечено Catstail как решение

Решение

Цитата Сообщение от serauto79 Посмотреть сообщение
site = p[0].find('a',attrs={'rel':'noopener'}).text
            phone = p[1].text
Python
1
2
3
4
5
found=p[0].find('a',attrs={'rel':'noopener'}):
site = found.text or 'не указан' if found else 'не указан'
phone = 'не указан'
if len(p)>1 and p[1]:
    phone = p[1].text or 'не указан'
2
21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779
12.02.2025, 12:17  [ТС]
Цитата Сообщение от Welemir1 Посмотреть сообщение
Python
1
2
3
4
5
found=p[0].find('a',attrs={'rel':'noopener'}):
site = found.text or 'не указан' if found else 'не указан'
phone = 'не указан'
if len(p)>1 and p[1]:
    phone = p[1].text or 'не указан'

Пробовал ваш пример, но скрипт завершает работу

сделал так


Python
1
2
3
4
5
6
7
8
9
10
11
12
site_if = p[0].find('a',attrs={'rel':'noopener'}).text
            if site_if:
                site = site_if
            else:
                site = "не указан"
 
 
            phone_if = p[1].text
            if phone_if:
                phone = phone_if
            else:
                phone = "не указан"

Это ведь тоже верный вариант?
Мне главное чтобы при парсинге страницы если в теле страницы не найден сайт или телефон в переменную отправляло не пустоту, а не указан
0
 Аватар для ViachaslauK
126 / 185 / 16
Регистрация: 08.10.2024
Сообщений: 691
07.03.2025, 18:07
Цитата Сообщение от serauto79 Посмотреть сообщение
Это ведь тоже верный вариант?
c тернарником будет компактнее
Python
1
phone = p[1].text if p[1].text else "не указан"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
07.03.2025, 18:07
Помогаю со студенческими работами здесь

Переменная не меняет свое значение
Привет. Почему вот в этом варианте, при вызове функции, у меня не изменяется значение переменной? Оно почему то всегда стоит на нуле. ...

Если переменная пустая работа скрипта завершается ошибкой 500
Привет, помогите исправить в файле Petrovich.php есть строка 245, 246 почти в самом конце $firstname = "Олег"; //имя ...

Пустая переменная,как узнать ее значение?
Вопрос несколько коварный))) Всем наверно известно о интернет-тестах,для студентов например. Режим самообучения - в конце кода страницы...

Переменная самопроизвольно изменяет свое значение
Есть код: int M = new int{ 1, 2, 3, 4, 5, 7, 10 }; Random random = new Random(); for (int i = 10; i <= 100000; i *= 10)...

Переменная const изменяет своё значение
Привет. Суть вопроса в том что переменная типа const изменяет своё значение. uint8_t gsm_state = GSM_HANDLER_STANDBY, ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru