21 / 10 / 4
Регистрация: 02.04.2015
Сообщений: 779

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

11.02.2025, 22:32. Показов 1669. Ответов 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,693
Записей в блоге: 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
128 / 186 / 17
Регистрация: 08.10.2024
Сообщений: 702
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 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru