Парсинг Веб страницы на Python
Всем добрый день. Как проводите майские праздники? Возник вопрос по поводу парсинга на Python, подскажите как решить. Посмотрите фото. Мне нужно спарсить текст. Есть див, который отвечает за блок:
<div class="ecoCalContent">
Но мне нужны не все данные, а только текст (самый правый столбец). Но как мне взять этот текст? Там нет ни span, ни h1. Написано #text. Вот мой код, но он не работает:
text = soup.find('div', data='Details').find_all('div', class_="tblContent5")
На фотографии можно заметить, что класс у этого текста: tblContent5
<div data-th="Details" data-group="calData" class="tblContent5">
Как мне взять этот текст? Loews Corp. (L) will host a conference call at 11:00 AM ET on May 4, 2020, to discuss Q4 19 earnings results.
To access the live webcast, log on to www.loews.com
To listen to... .
Заранее большое спасибо!
Ответы (1 шт):
Вы ищете по всему документу <div> с data='Details'. Но в документе нет такого <div> (есть только с data-th="Details").
Найдите <div> любым удобным Вам способом и получите текст через атрибут text.
Пример:
from bs4 import BeautifulSoup
with open('index.html', encoding='utf-8') as f:
soup = BeautifulSoup(f.read(), 'lxml')
text = soup.find('div', {'class': 'ecoCalContent'}).find('div', {'class': 'tblContent5'}).text
print(text)
stdout:
Some text
index.html:
<div class="ecoCalContent">
<div data-th="Details" class="tblContent5">Some text</div>
</div>