Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+2

Python парсинг, нужны вывести текст.

Мне нужно вытащить только текст "5 филиалов", я пишу это:
как все это правильно реализовать. Мне искать тег внутри тега чтоли или как?

1
 filial = data.find('span', class_='_1w9o2igt').text 

он мне выдает только "Проспект Хасана Туфана,3, Казань, Республика Татарстан"

1234
 <span class="_1w9o2igt">&ZeroWidthSpace;
<!-- -->Проспект Хасана Туфана, 3, Казань, Республика Татарстан</span>
<span class="_1w9o2igt">&ZeroWidthSpace;
<a href="/kazan/branches/70000001060991468" class="_1rehek">5 филиалов</a></span> 
По дате
По рейтингу
Аватар пользователя
Мудрец

Так ты ищешь span, а тебе нужен тег a, поменяй тег и класс

Аватар пользователя

Если вам нужно вытащить только текст "5 филиалов", то вам нужно использовать метод find_all вместо find, чтобы получить все элементы span с указанным классом, а затем выбрать нужный вам элемент из списка найденных элементов.

Вот пример кода, который может помочь вам достать нужный текст:


elements = data.find_all('span', class_='_1w9o2igt')
for element in elements:
if 'филиалов' in element.text:
filial = element.text.strip()
break

print(filial)
Этот код найдет все элементы span с классом _1w9o2igt и проверит, содержит ли текст элемента фразу "филиалов". Если текст соответствует вашим требованиям, то он будет сохранен в переменную filial. Затем вы можете вывести значение переменной filial, чтобы убедиться, что текст "5 филиалов" был успешно извлечен.

Обратите внимание, что data - это объект, представляющий разобранный HTML-код, который вы получаете при парсинге страницы. Убедитесь, что у вас есть корректно полученный объект data, прежде чем использовать его для поиска элементов.