Я пытаюсь создать трекер цен для курсов 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)
Код: Выделить всё
== $0
Current price
$13.99
Источник: https://stackoverflow.com/questions/781 ... outer-span