BS4 при парсинге
В ходе работы возник вопрос.
На изображении ниже указана часть HTML кода, который нужно спарсить, достать данный текст не сложно, однако под данных тегом находятся другие, которые тоже содержат текст, который мне не нужен.
Мне нужно как-то достать только то, что находится под ::before и
до <div class="row ravenol-item-description">
https://podbor.ravenol.su/1-cars/1-abarth/6-124-spider-348/15236-124-spider-1-4-turbo-multi-air/ - сайт с которого собираю инфу.
Ответы (1 шт):
Автор решения: Namerek
→ Ссылка
Проверьте, Вы это имели ввиду?
import re
import requests
from bs4 import BeautifulSoup as Soup
if __name__ == '__main__':
response = requests.get('https://podbor.ravenol.su/'
'1-cars/1-abarth/6-124-spider-348/'
'15236-124-spider-1-4-turbo-multi-air/')
if response.status_code == 200:
soup = Soup(response.content, 'html.parser')
useful_tag = soup.find('div', class_='panel-body')
while useful_tag.div:
useful_tag.div.replace_with('')
text_blocks = [text.strip() for text in re.findall(r'[^\n\t]+', useful_tag.text) if text.strip()]
print(text_blocks)
# ['Объем жидкости (основной): 3.8 л', 'Объем жидкости (фильтр): 0.6 л', 'Режим эксплуатации: нормальный', 'Проверка, км: 3000', 'Замена каждые 15000 км или 12 мес.']
