Электронный Кадастр

Парсинг страницы с сертификатом безопасности в Питоне

При работе с веб-сайтами, нередко возникает необходимость получить информацию о SSL-сертификате, который используется на сайте для шифрования и обеспечения безопасности. В этой статье мы рассмотрим, как с помощью библиотеки Python requests и модуля BeautifulSoup можно распарсить страницу с SSL-сертификатом для получения информации о нём.

Шаг 1. Установка библиотек

Перед началом работы необходимо убедиться в наличии библиотек requests и BeautifulSoup. Если они у вас не установлены, то можно выполнить следующие команды в терминале:

pip install requests
pip install beautifulsoup4

Шаг 2. Получение страницы веб-сайта

Для получения страницы веб-сайта можно воспользоваться методом requests.get(), который принимает на вход URL-адрес страницы и возвращает объект Response с информацией о полученном ответе. Например, чтобы получить страницу https://google.com, можно выполнить следующий код:

import requests

response = requests.get('https://google.com')
print(response.content)

Шаг 3. Парсинг страницы с помощью BeautifulSoup

После получения страницы необходимо распарсить её с помощью библиотеки BeautifulSoup. Для этого создайте объект BeautifulSoup, передав на вход содержимое страницы и указав тип парсера (обычно достаточно указать "html.parser"). Например:

from bs4 import BeautifulSoup

soup = BeautifulSoup(response.content, 'html.parser')

Шаг 4. Получение информации о сертификате

После получения объекта soup мы можем найти на странице элементы, содержащие информацию о сертификате. Для примера мы найдём элемент с классом "ssl-certificate", который имеет все необходимые данные о SSL-сертификате. Например:

certificate = soup.find('div', {'class': 'ssl-certificate'})

Теперь мы можем получить информацию о сертификате, вызывая соответствующие методы объекта certificate. Например, чтобы получить имя домена, на который выдан сертификат, можно выполнить следующий код:

domain = certificate.find('span', {'class': 'ssl-cert__subject-dn'}).text
print(domain)

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

Заключение

В этой статье мы рассмотрели, как с помощью библиотеки Python requests и модуля BeautifulSoup можно распарсить страницу с SSL-сертификатом для получения информации о нём. Эту же технику можно использовать для получения информации о других элементах веб-страницы, что может быть полезно при автоматизации работы с веб-сайтами.