Как извлечь содержимое ссылки исключив ссылки в теге?

Есть html
<span>
     <a href="/services/service1/">Сервис1</a>
</span>,
<span>
     <strike>
            <a href="/services/service2/">Сервис2</a>
     </strike>
</span>
<span>
     <a href="/services/service3/">Сервис3</a>
</span>,
<span>
     <strike>
            <a href="/services/service4/">Сервис4</a>
     </strike>
</span>

Как найти все ссылки которые НЕ находятся в теге <strike> ?
  • Вопрос задан
  • 80 просмотров
Решения вопроса 2
@NoXXik
Используй beautiful soup.
Вот документация: https://www.crummy.com/software/BeautifulSoup/bs4/...
Ответ написан
Комментировать
hottabxp
@hottabxp Куратор тега Python
Сначала мы жили бедно, а потом нас обокрали..
Можно использовать decompose() - метод удаляет тег из дерева, а затем полностью уничтожает его вместе с его содержимым.
strikes = soup.find_all('strike')	# Ищем все теги strike

	for strike in strikes:
		strike.decompose()		# Удаляем все теги strike из дерева

	soup2 = soup.find_all('a')	       # Теперь в обьекте soup DOM дерево без  тегов strike
	for x in soup2:
		print(x.get('href'))		# Ищем все ссылки

Вывод:
/services/service1/
/services/service3/

Бонус:
Перевод документации Beautiful Soup на русский язык.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы