BS4 Красивый суп выдержка текст из find_all - PullRequest
0 голосов
/ 03 июля 2019

Я перебираю сайт и хотел бы создать список цен.

prices = soup.find_all("li", class_="price")

Однако, это возвращает:

 <li class="price">€13.99</li>, 
 <li class="price">€12.99</li>, 
.....

Как мне извлечь только цену? Я пытался

prices = soup.find_all("li", class_="price", text=True)

но это не сработало.

Я знаю, что могу просмотреть список вручную и извлечь текст, но это не идеально.

Ответы [ 2 ]

1 голос
/ 03 июля 2019

Предполагая, что содержимое не добавляется динамически, а это не так, я бы использовал .text для извлечения из элементов, возвращаемых с помощью select

prices = [item.text for item in soup.select('li.price')]
0 голосов
/ 03 июля 2019

find_all() возвращает список элементов. Вам нужно выполнить итерацию, чтобы получить каждый element, а затем получить text элемента.

prices = soup.find_all("li", class_="price", text=True)
for price in prices:
  print(price.text)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...