Парсинг криптовалют с помощью Selenium: создание скриншота таблицы
В этой статье мы рассмотрим пример использования библиотеки Selenium для парсинга данных с сайта CoinGecko. Данный скрипт позволяет автоматизировать процесс получения визуальных данных (скриншотов) таблицы с информацией о криптовалютах, таких как Bitcoin и Ethereum. В названии файла присутствует дата и время создания, а так же код крипты — BTCÐ_2025-09-15_22-45-26.png
Этот пример полезен для тех, кто хочет автоматизировать мониторинг цен, собирать данные для анализа или создавать визуальные отчёты.
Для чего можно использовать этот пример?
Этот код идеально подходит для следующих задач:
- Мониторинг цен криптовалют: Автоматическое сохранение скриншотов таблицы с данными о ценах для последующего анализа.
- Создание отчётов: Генерация визуальных данных для отчётов или презентаций.
- Автоматизация тестирования: Проверка отображения веб-страниц или элементов интерфейса.
- Сбор данных для анализа: Сохранение визуальной информации для дальнейшей обработки или документирования.
Пример демонстрирует базовую работу с Selenium, включая открытие сайта, ожидание загрузки элементов и сохранение скриншот не всё страницу, а только те валюты что вы выбрали.
Необходимые инструменты
Для работы скрипта потребуется установить Python, а также библиотеки Selenium и WebDriver Manager. Selenium позволяет взаимодействовать с веб-страницами, а WebDriver Manager упрощает управление драйверами браузера.
Установка необходимых библиотек.
pip install selenium webdriver-manager
Основные модули и импорты Selenium для Python
Код программы
Ниже приведён полный код с комментариями, который открывает сайт CoinGecko, ожидает загрузки таблицы с данными о криптовалютах и сохраняет её скриншот.
Результат файл «BTCÐ_2025-09-15_22-45-26.png»
Основной код программы для работы с Selenium
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from datetime import datetime
import time
# Инициализация драйвера Chrome для взаимодействия с браузером
driver = webdriver.Chrome()
try:
# Открытие сайта CoinGecko
driver.get("https://www.coingecko.com/")
# Разворачивание окна браузера на полный экран
driver.maximize_window()
# Ожидание загрузки таблицы с криптовалютами (до 10 секунд)
table = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.CSS_SELECTOR, 'table tbody'))
)
# Формирование имени файла с текущей датой и временем
timestamp = datetime.now().strftime("%Y-%m-%d_%H-%M-%S")
filename = f"BTCÐ_{timestamp}.png"
# Сохранение скриншота таблицы с данными
table.screenshot(filename)
# Вывод сообщения об успешном сохранении
print(f"Скриншот сохранён как {filename}")
# Пауза 5 секунд для визуального контроля результата
time.sleep(5)
finally:
# Закрытие браузера и освобождение ресурсов
driver.quit()
Как работает скрипт?
В этом примере скрипт Selenium выполняет следующие действия:
- Инициализация браузера: Создаётся экземпляр драйвера Chrome для управления браузером.
- Открытие сайта: Скрипт переходит на сайт CoinGecko и разворачивает окно браузера.
- Ожидание загрузки: WebDriverWait ждёт до 10 секунд, пока таблица с данными не появится на странице.
- Создание скриншота: Скрипт формирует имя файла с временной меткой и сохраняет часть скриншота таблицы в формате PNG.
- Завершение работы: После выполнения всех действий браузер закрывается.
Для чего полезен этот пример?
Этот пример полезен для начинающих разработчиков, которые хотят освоить автоматизацию веб-парсинга с помощью Selenium. Он демонстрирует базовые возможности библиотеки, такие как взаимодействие с веб-страницами, ожидание загрузки элементов и сохранение визуальных данных. Также этот код можно адаптировать для других сайтов или задач, например, для парсинга цен, новостей или других данных.
Больше примеров по парсингу на parsertools.ru/primers.
