Как получить уведомление с помощью web scrapping - Python
Привет,
Я хочу использовать python web scrapping с помощью selenium и хочу получить уведомление, когда дата изменения содержимого будет изменена.
URL-АДРЕС : Система отчетности 2.9 - Европейское банковское управление[^]
на этом веб-сайте еженедельно и ежемесячно обновляется контент, и независимо от того, какой контент обновляется, против них упоминается дата, и я хочу получить уведомление по электронной почте о том, что xxxx.....EBA2.9 (пример) обновляется. Кто-нибудь может мне помочь.
Что я уже пробовал:
до сих пор я пытался :
from selenium import webdriver from selenium.webdriver.common.keys import Keys #to search the particular key DR = webdriver.Chrome() #created instance "DR" of the browser DR.get("https://eba.europa.eu/risk-analysis-and-data/reporting-frameworks/reporting-framework-2.9") Details = DR.find_elements_by_css_selector('div>p>strong') print(Details) for dtl in Details: DetailText = dtl.find_element_by_css_selector('div.a') print(DetailText.text)
но результата не получил.
Gerry Schmitz
"Если вы хотите быть в курсе работы ЕБА, подпишитесь на электронные оповещения еба."
Sunil KK
Спасибо Шмитцу за ответ, но я хочу сделать эту часть, используя веб-слом.
ZurdoDev
Затем вам нужно будет разобрать html и найти именно то, что вы ищете.
Sunil KK
Привет Dev, я действительно получаю уведомление всякий раз, когда какой-либо последний контент загружается EBA. например, если вы перейдете по ссылке (я упоминал выше), вы найдете дату против контента, такого как (Обновлено 19 августа 2019 года) [ZIP, 2994KB]. Если эта дата будет изменена мне нужно уведомление
ZurdoDev
Я не понимаю, что вы хотите, чтобы мы сделали. Вы сказали, что действительно "получаете уведомление", а затем сказали: "мне нужно уведомление"
Sunil KK
Привет, Дев, Извини за путаницу. На самом деле я хочу получить уведомление, если даты будут обновлены. Позвольте мне привести вам пример :
3. DPM v2.9
a. база данных DPM (обновлена 19 августа 2019 года) [ZIP, 81129KB]
b. словарь DPM (обновлен 19 августа 2019 года) [XLS, 940KB]
c. макет таблицы DPM и категоризация точек данных (Обновлено 19 августа 2019 года) [ZIP, 7214KB]
d. изменения по сравнению с предыдущей версией Фаза 1 (обновлено 28 мая 2019 года) [ZIP, 6263KB]
e. изменения по сравнению с предыдущей версией phase 2 (Обновлено 19 августа 2019 года) [ZIP, 2994KB]
теперь предположим, что EBA обновила некоторый контент для "e" в ту дату, которая будет обновлена с "Обновлено 19 августа 2019 года" до "обновлено 25 сентября 2019 года"
Теперь я хочу получить уведомление в следующем формате :
3. DPM v2.9
e. изменения по сравнению с предыдущей версией phase 2 (Обновлено 25 сентября 2019 года) [ZIP, 2994KB]
Я надеюсь, что смогу уточнить, что именно я хочу, используя веб-слом.
ZurdoDev
Если вы хотите получить уведомление, когда их сайт меняется, вы должны спросить их об этом. Я не понимаю, что вы хотите, чтобы мы сделали.
Если они не уведомят вас, то вам нужно написать код, который каждый день анализирует их html-код в поисках даты, а затем делает все, что вы хотите.
Sunil KK
Привет Дэв,
именно этого я и хочу: "если они не будут уведомлять вас, то вам нужно написать код, который будет анализировать их html каждый день в поисках даты, а затем делать все, что вы хотите".
ZurdoDev
Нет. Это именно то, что мой первый комментарий был 3 дня назад. Где ты застрял? У вас есть какой-то код выше. - Что случилось?
Sunil KK
В моем коде я получаю заголовок, но когда я пытаюсь напечатать эти заголовки, он выдает мне ошибку, и я не знаю, как использовать этот заголовок для получения уведомления.
ZurdoDev
Шаг 1 - выяснить, как определить, когда что - то новое. Например, есть ли на странице место с обновленной датой?
Sunil KK
Да, это ссылка только для вашей справки
https://eba.europa.eu/risk-analysis-and-data/reporting-frameworks/reporting-framework-2.9
вы можете увидеть "2. правила проверки (обновлено 10 сентября 2019 года) [XLSX, 4.2 MB]" такого рода заявление, где мы можем видеть дату.
ZurdoDev
Если вы посмотрите на источник, то у них нет этой информации внутри элемента с именем или идентификатором, поэтому нет никакого способа получить ее напрямую. Как я уже сказал в первый раз, вам нужно будет найти способ проанализировать данные и найти то, что вы хотите. Например, вы можете найти "(Обновлено"), но они могут изменить его, и он больше не будет работать.
Sunil KK
Я согласен с вашей точкой зрения, что внутри элемента нет имени или идентификатора. Но я должен это сделать, ты хоть представляешь ? любое предложение>
ZurdoDev
Найдите "updated on (", а затем попробуйте разобрать его. Или обратитесь на сайт. Возможно, у них уже есть RSS-канал или какой-то другой способ.