Уведомления

Группа в Telegram: @pythonsu

#1 Июль 18, 2019 19:23:16

sbalymov
Зарегистрирован: 2017-12-24
Сообщения: 7
Репутация: +  0  -
Профиль   Отправить e-mail  

BeautifulSoup

привет, Такая ситуация BeautifulSoup не всегда выдает текст в <span>
html по факту на сайте в нужном div и в нужном span
<span data-test-id=“no-price” class=“no-price” data-v-1cd526f9=“”>Товар закончился</span>

часть моего запроса и вывод


 if request.status_code == 200:
		soup = bs(request.content, 'html.parser')
		divx = soup.find_all('div', attrs={'class': 'main-price-block'})
		for span in divx:
			title = span.find('span')
			print(title)
вывод
<span class=“no-price” data-test-id=“no-price” data-v-1cd526f9=“”></span>


попробывал вывести все span имеющие на страницы, во многих <span> присуствуют текст
<span data-test-id=“characteristics-item-1-value-span” data-v-febbae54=“”>Мармелад</span>

Офлайн

#2 Июль 19, 2019 03:35:59

@cckyi_boxxx
От:
Зарегистрирован: 2012-01-13
Сообщения: 181
Репутация: +  14  -
Профиль   Отправить e-mail  

BeautifulSoup

если вам нужен текст внутри искомого span-а используйте метод get_text()

и поменяйте ваш print на print(title, span, sep='\n', end = ‘**************\n’) так вы увидите был-ли текст изначально, или вам и не должно его казать, ибо не стоит забывать что современные страницы зачастую заполняются js и request не сможет это отработать

короче слишком мало инфы что-бы сказать вам что-то более внятное.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version