Python BeautifulSoup - текст между Div - PullRequest
1 голос
/ 11 марта 2019

Я работаю над проектом Webscraper и не могу заставить BeautifulSoup дать мне текст между Div. Ниже мой код. Любые предложения о том, как заставить Python печатать только «5x5» без «Div to / Div» и без пробелов?

source = requests.get('https://www.stor-it.com/self-storage/meridian-id-83646').text
soup = BeautifulSoup(source, 'lxml')
unit = soup.find('div', class_="unit-size")
print (unit)

Этот скрипт возвращает следующее:

<div class="unit-size">
                                    5x5                                 </div>

Ответы [ 3 ]

2 голосов
/ 11 марта 2019

Вы можете использовать текст для извлечения текста, а затем убрать лишние пробелы Попробуйте unit.text.strip()

0 голосов
/ 11 марта 2019

Используйте более быстрый выбор класса CSS

from bs4 import BeautifulSoup
source= '''
<div class="unit-size">
                                    5x5                                 </div>
'''
soup = BeautifulSoup(source, 'lxml')
unit = soup.select('.unit-size')
print(unit[0].text.strip())
0 голосов
/ 11 марта 2019

Измените выписку с print(unit) на print(unit.text)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...