#python
#python
Вопрос:
Я пытаюсь очистить текст в теге H2 под заголовком, который начинается с «преимущества» … так что это может быть похоже на «преимущества игрушек» или «преимущества чашек» и т.д.
HTML-код:
<h2 class="DrugOverview__title___1OwgG">Benefits of Toys</h2>
Код, который я использовал до сих пор
benfit = soup.find('h2',text='Benefits of')
q = benefit.get_text(strip=True)
Как мне это решить?
Также имейте в виду, что класс h2 нельзя использовать для очистки в этой ситуации (из-за других проблем).
Ответ №1:
мы можем использовать регулярное выражение, чтобы получить какую-то конкретную строку
Я использовал strs
в качестве входного содержимого html
Используйте приведенный ниже код:
import re
strs = '<h2 class="DrugOverview__title___1OwgG">Benefits of Toys</h2><h2 class="DrugOverview__title___1OwgG">Benefits of kids</h2>'
soup = BeautifulSoup(strs, 'html.parser')
pattern = re.compile(r'Benefits of')
benefit = soup.findAll(text = pattern)
print(benefit)
Вывод:
['Benefits of Toys', 'Benefits of kids']