Я довольно новичок в программировании в целом, поэтому я просто пытаюсь написать забавную программу для веб-скрапинга. Мой друг и я играем в Animal Crossing и пытаемся играть в репу. Есть веб-страница, где люди перечисляют цены на репу на своих островах. Я хотел бы написать код, который очищает страницу, определяет, сколько звонков продают все, а затем уведомляет меня по тексту или электронной почте, если кто-то перечисляет более 500 звонков.
Я застрял на шаге 1 здесь.
Я бы хотел почистить HTML
страницы и определить колокольчики, используя это. Сначала я попробовал с BS4, но обнаружил, что, поскольку страница является динамической c и использует некоторые динамические c java элементы, мне пришлось вместо этого использовать селен.
Вот HTML
, который я пытаюсь определить:
<\div data-v-dee358f6="" class="flex flex-row items-center justify-self-center">
<\img data-v-dee358f6="" src="/img/turnip.0cf2478d.png" class="w-6 object-scale-down">
<\p data-v-dee358f6="" class="ml-2">73 Bells<\p>
<\div>
Я хотел бы очистить что-нибудь из класса ml-2
, чтобы я мог получить код, содержащий часть список колоколов Я использовал следующий базовый код c, чтобы попробовать различные методы для этого:
#Turnip notifier
#Reads the island page on the turnip exchange and sends a text message when an island goes above 500 bells
from selenium.webdriver import Firefox
webdriver = 'C:\\path'
driver = Firefox(webdriver)
#Open up turnip.exchange URL
url = "https://turnip.exchange/islands"
driver.get(url)
element = driver.find_element_by_class_name('ml-2')
HTML = element.get_attribute('outerHTML')
print(HTML)
Это возвращает HTML
, но другого класса. Затем я попытался CSS selector
, xPATH
, et c ... et c ... каждый из которых заявил, что не было элемента.
Затем я попытался вытащить HTML
всей страницы, просто чтобы посмотреть, с чем я работаю, поэтому мой код теперь выглядит так:
#Turnip notifier
#Reads the island page on the turnip exchange and sends a text message when an island goes above 500 bells
from selenium.webdriver import Firefox
webdriver = 'C:\\path'
driver = Firefox(webdriver)
#Open up turnip.exchange URL
url = "https://turnip.exchange/islands"
driver.get(url)
HTML = driver.execute_script("return document.documentElement.outerHTML;")
print(HTML)
Это печатает HTML
, но не для страницы, как она выглядит вживую. В основном это форматирование и тому подобное. Так что, похоже, я все еще не беру живую страницу, как она появляется в элементе inspect, даже используя Selenium для открытия сайта.
Есть идеи? После того, как я смогу получить код, который содержит количество звонков, я почти уверен, что у меня есть представление о том, куда go оттуда с точки зрения создания списка / словаря и хранения значений, но я не могу найти колокола в настоящее время.