Понимание HTML элементов для выбора определенной даты в Beautiful Soup - PullRequest
0 голосов
/ 22 февраля 2020

Я пишу код, который будет определять дату выпуска отчета о доходах. Я столкнулся с проблемой, когда я не могу выбрать указанную дату c с помощью Beautiful Soup.

import bs4, requests
ticker = TSLA

res = requests.get('https://www.nasdaq.com/market-activity/earnings/' + ' '.join(ticker))
res.raise_for_status()

soup = bs4.BeautifulSoup(res.text, 'html.parser')

elems = soup.select('time sidebar-recent__event__date')

please = elems.getText()

Screenshot of Inspect information for the part I want to select

Не могли бы вы помочь мне найти правильный элемент HTML, который мне нужно вставить в функцию select(), чтобы выбрать эту информацию? Также можно объяснить причину, по которой вы выбрали для этого элемент HTML?

Я пытался:

elems = soup.select('sidebar-recent__event__date')

elems = soup.select('.sidebar-recent__event__date')

elems = soup.select('time sidebar-recent__event__date')

elems = soup.select('sidebar-recent__event__date time')

Прилагается веб-сайт, который я использую, если вы хотите проверить элементы.

https://www.nasdaq.com/market-activity/stocks/tsla

1 Ответ

0 голосов
/ 08 марта 2020

From doc;

soup.select(".sister")
# [<a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>,
#  <a class="sister" href="http://example.com/lacie" id="link2">Lacie</a>,
#  <a class="sister" href="http://example.com/tillie" id="link3">Tillie</a>]

, поэтому для вашего вопроса это должно быть

elems = soup.select('time.sidebar-recent__event__date')

Также существует метод с именем select_one(), который находит только первый тег, соответствующий селектору. :

soup.select_one(".sister")
# <a class="sister" href="http://example.com/elsie" id="link1">Elsie</a>

https://www.crummy.com/software/BeautifulSoup/bs4/doc/#css -селекторы

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