У меня есть фрагмент html, извлеченный с помощью bs4, как показано ниже.
<div class="a-section a-spacing-small" id="productDescription">
<!-- show up to 2 reviews by default -->
<p>Satin Smooth Universal Protective Wax Pot Collars by Satin Smooth</p>
</div>
Чтобы извлечь текст, я использовал text.strip()
output.text()
Это дало мне выход "TypeError: 'str' object is not callable"
В то время как я использовал output.get_text()
и output.getText()
, я получил желаемый текст
Каковы различия между этими 3? почему get_text() и getText() дают тот же результат?
Они очень похожи:
.get_text
- это функция, которая возвращает текст тега в виде строки.text
- свойство, которое вызывает get_text
(поэтому оно идентично, за исключением того, что вы не используете скобки).getText
- это псевдоним get_text
Я хотел бы использовать .text
когда это возможно, и .get_text(...)
когда вам нужно передать пользовательские аргументы (например, foo.get_text(strip=True, seperator='\n')
).
output.p.contents
также дает мне текст в списке с вкладками и новыми строками.
expect
->
except