Красивый суп не находит внутренний промежуток внутри внешнего промежуткаPython

Программы на Python
Гость
Красивый суп не находит внутренний промежуток внутри внешнего промежутка

Сообщение Гость »


Я пытаюсь создать трекер цен для курсов Udemy просто как личный проект, поскольку я довольно часто проверяю сайт на предмет продаж курсов, которые хотел бы купить. Я пытаюсь использовать Beautiful Soup, чтобы получить цену из HTML-скрипта. Каждый раз, когда я тестирую свой код, когда он доходит до строки: цена = суп.find(class_='usdr-sr-only').get_text(), он выдает мне: «Объект NoneType не имеет атрибута 'get_text' '" (я помещаю () после get text в свой код).
Вот строка в контексте:

Код: Выделить всё

import requests, os, lxml
from bs4 import BeautifulSoup

UDEMY_CLASS = input("Please provide the URL for the course whose price you'd like to track: ")
url = UDEMY_CLASS

header = {
"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
"Accept-Language": "en-US,en;q=0.9"
}
response = requests.get(url, headers=header)

soup = BeautifulSoup(response.content, "lxml")
print(soup.prettify())

price = soup.find(class_="usd-sr-only").get_text()
#price_without_currency = price.split("$")[1] not always needed- inspect element
price_as_float = float(price)
И HTML части страницы с ценой:

Код: Выделить всё

 == $0
Current price
$13.99
The first thing I thought it that I told BS to find the wrong class. How should I approach isolating the span with the price text? Appreciate any input, please let me know if I need to add for info.


Источник: https://stackoverflow.com/questions/781 ... outer-span

Вернуться в «Python»