Как бороться с Коронавирусом с помощью Selenium Web Scraping?

11 марта 2020 года Всемирная организация здравоохранения (ВОЗ) объявила COVID-19. Это указывает на более чем 118 000 случаев коронавирусной болезни. Эта болезнь распространилась в более чем 110 странах и территориях по всему миру. И тренировка селена увеличивает вероятность дальнейшего глобального распространения.

Мы можем использовать очистку веб-страниц, чтобы сопоставить данные COVID-19 и принять необходимые меры, чтобы остановить его распространение.

Веб-соскоб:

Это метод для доступа к данным с исходного сайта и использования данных для манипулирования данными и их работы. Любой сайт содержит данные, которые можно просматривать через браузер. Веб-сайты не позволяют вам иметь доступ к данным, единственный способ получить доступ к данным - это вручную скопировать и вставить данные. Это утомительная задача, чтобы скопировать и вставить все данные. Вместо этого мы можем использовать метод веб-очистки для доступа к данным сайта.

Robots.txt:

Вы не можете просто получить доступ к данным каждого сайта, с которым вы сталкиваетесь. Некоторые сайты не позволяют вам получить доступ к их данным. Вы не можете получить доступ к их данным, если не поддерживается. Например, возьмите www.twitter.com/robots.txt

Методы очистки веб-страниц:

Python - лучший вариант, когда речь идет о веб-очистке, и вы можете использовать различные веб-библиотеки для веб-очистки, такие как селен, красивое мыло, панды и т. Д.

Давайте пройдемся по соскобу селена питона.

Процесс очистки веб-страниц:

  • Вы должны сделать запрос, используя модуль запросов через URL
  • Содержание HTML должно быть получено в виде текста.
  • Изучите HTML и извлеките данные. Для выполнения этой задачи щелкните правой кнопкой мыши в веб-браузере и выберите опцию проверки.

Для достижения этой цели давайте выполним очистку веб-страниц с использованием селена и python.

Настройка селена:

Selenium - это программное обеспечение для тестирования с открытым исходным кодом. Скачайте селен и установите его.

Веб-драйверы:

Веб-драйверы позволяют python отслеживать браузер через взаимодействие на уровне ОС. Веб-драйверы используют встроенную поддержку браузера для процесса автоматизации, поэтому веб-драйвер должен быть включен и доступен через переменную PATH операционной системы (необходима только для ручной установки) для работы браузера.

Вы загружаете драйверы из соответствующих браузеров в зависимости от использования, таких как Chrome, Firefox, Safari и т. Д.

Вы можете узнать, как развернуть селен, пройдя онлайн-тренинг по селену в Хайдарабаде.

В коде VS есть вкладка «Терминал», которая позволяет вам открыть внутренний терминал в коде VS, что очень полезно для получения всего в одном месте.

Есть еще несколько вещей, которые мы должны добавить, когда у вас есть такая доступность, это виртуальная среда и селен для веб-драйверов. Введите эти команды в свой терминал.

  • pip3 установить виртуальный lenv
  • Источник venv / bin / activ
  • Pip3 установить селен

Настройка виртуальной среды завершена. Мы готовы пойти на следующий шаг.

Выполнение кода:

Вам нужно создать класс и добавить для него функции.

Назовите и создайте инструмент и запустите драйвер.

Класс Коронавирус ()
def__init __ (Я)
self.driver = webdriver.crome

После выполнения этого кода перейдите в терминал и выполните следующий код.

Python-i coronavirus.py

Эта команда помогает нам сделать наш файл интерактивным в виде песочницы. Откроется новая вкладка браузера, и мы можем начать выдавать команды. Вы можете использовать командную строку вместо того, чтобы просто вводить ее непосредственно в исходный код, если хотите попробовать. Только вместо отправки используйте бота.

В терминале:
Бот = коронавирус ()
Bot.driver.get ( 'https://www.worldometers.info/coronavirus/')
Исходный код:
Self.driver.get ( 'https://www.worldometers.info/coronavirus/')

Когда мы перенаправлены на сайт, таблица копируется таким образом.

Xpath:

XPath - это синтаксис пути выражения для определения местоположения объекта в DOM. XPath имеет свой синтаксис для поиска узла из корневого элемента, либо используя абсолютный путь, либо используя относительный путь в любом месте текста.

table = self.driver.find_element_by_xpath ('// * [@ id = ”main_table_countries”] / tbody [1]')

Теперь дойдите до страны, в таблице которой вы хотите получить данные изначально

country_element = table.find_element_by_xpath («// td [содержит (текст (),« Индия »)]»)

Затем разделите данные и просмотрите их в разных переменных.

data = row.text.split (““) total_cases = data [1] new_cases = data [2] total_deaths = data [3] new_deaths = data [4] active_cases = data [5] total_recovered = data [6] серьезные_критические = данные [7]

Уведомление по электронной почте:

Нам нужно настроить сервер отправки электронной почты, перейти в службу учетных записей Google, перейти в «Пароли приложений», создать новый пароль и использовать его в этом небольшом документе.

Мы также создаем наш прототип для письма, которое мы получим.

def send_mail (country_element, total_cases, new_cases, total_deaths, new_deaths, active_cases, total_recovered, серьезные_critical):

server = smtplib.SMTP ('smtp.gmail.com', 587)

server.ehlo ()

server.starttls ()

server.ehlo ()

server.login («электронная почта», «пароль»)

subject = 'Статистика коронавируса в вашей стране сегодня!'

body = 'Today in' + country_element + '\

\ nНовые данные о коронавирусе: \

\ nВсего дела: '+ total_cases +' \\ nНовые дела: '+ new_cases +' \

\ nВсего смертей: '+ total_deaths +' \

\ nНовые смерти: '+ new_deaths +' \\ nАктивные случаи: '+ active_cases +' \

\ nВсего выздоровел: '+ total_recovered +' \\ nСерьезные, критические случаи: '+ серьезные_критические +' \

\ nПроверьте ссылку: https://www.worldmeters.info/coronavirus/ '

msg = f ”Тема: {тема} \ n \ n {тело}”

server.sendmail ( 'коронавируса', 'электронная почта', MSG)

print («Эй, электронная почта отправлена!») server.quit ()

Выполнив этот код, вы получите обновления о вспышке короны в виде оповещения по электронной почте.

Вывод:

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