This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Playwright в Python
Библиотека
Используется для выполнения действий в браузере программным способом, включая автоматическое тестирование веб-приложений, парсинг данных и выполнение других задач, требующих взаимодействия с веб-страницами.
Основные возможности библиотеки:
🔵 Мультибраузерная поддержка: Работает с Chromium, Firefox и WebKit (движок Safari), что делает его идеальным для кросс-браузерного тестирования.
🔵 Поддержка headless-режима: Браузеры могут запускаться как с графическим интерфейсом, так и без него (headless-режим), что повышает производительность при выполнении тестов или парсинга.
🔵 Тестирование в реальном времени: Можно взаимодействовать с браузером так, как это делает реальный пользователь: клики, ввод текста, переходы по страницам и т.д.
🔵 Запись и воспроизведение действий: Возможность записывать пользовательские действия, а затем воспроизводить их программно.
✅ Пример создания скриншота веб-страницы:
➡️ Установка библиотеки:
➡️ Установка необходимых компонентов:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Библиотека
Playwright
предназначена для автоматизации браузеров.Используется для выполнения действий в браузере программным способом, включая автоматическое тестирование веб-приложений, парсинг данных и выполнение других задач, требующих взаимодействия с веб-страницами.
Основные возможности библиотеки:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
# Запускаем браузер Chromium
browser = p.chromium.launch(headless=False)
# Открываем новую вкладку
page = browser.new_page()
# Переходим на сайт
page.goto('https://example.com')
# Делаем скриншот страницы
page.screenshot(path='example.png')
# Закрываем браузер
browser.close()
pip install playwright
python -m playwright install
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥5❤🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Pygamelib в Python
Библиотека
Ориентирована на разработку небольших игр и симуляций с минимальными усилиями, предоставляя разработчикам удобные инструменты для работы с различными игровыми элементами, такими как персонажи, карты, объекты и интерфейс.
Основные особенности библиотеки:
🔵 Текстовые и графические игры: Поддерживает как текстовые, так и графические игры, позволяя создавать, например, roguelike-игры, простые симуляции или платформеры.
🔵 Работа с консолью: Легко позволяет управлять текстовыми элементами в консоли, что делает её отличным выбором для игр с интерфейсом в стиле ретро (ASCII-графика).
🔵 Удобные классы и структуры данных: Предлагает готовые классы для карт, объектов, персонажей и сцен, что упрощает разработку и ускоряет процесс.
🔵 Кроссплатформенность: Работает на разных операционных системах, таких как Windows, Linux и macOS.
🔵 Модульная архитектура: Можно легко расширять возможности своей игры, добавляя новые модули и компоненты.
➡️ Установка библиотеки:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Библиотека
Pygamelib
позволяет создавать текстовые и графические игры на основе терминала.Ориентирована на разработку небольших игр и симуляций с минимальными усилиями, предоставляя разработчикам удобные инструменты для работы с различными игровыми элементами, такими как персонажи, карты, объекты и интерфейс.
Основные особенности библиотеки:
pip install pygamelib
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥6❤🔥3👍2
В данном shorts напишем код для парсинга веб-страниц по ссылке с сохранением в PDF-файл.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥9🔥3👍2
Справочник Программиста
Код для парсинга веб-страницы по URL в PDF на Python
Для парсинга и сохранения веб-страницы в PDF-документ в коде используются библиотеки
➡️ Установка библиотек:
➡️ Справочник Программиста. Подписаться
Для парсинга и сохранения веб-страницы в PDF-документ в коде используются библиотеки
pyppdf
и pyppeteer
.pip install pyppdf
pyppeteer
import pyppdf
from pyppeteer.errors import PageError, TimeoutError, NetworkError
def main(url, name):
try:
pyppdf.save_pdf(name, url)
except PageError:
print('Не удалось загрузить страницу.')
except TimeoutError:
print('Тайм-аут.')
except NetworkError:
print('Нет доступа к сети.')
if __name__ == '__main__':
url = input('Введите ссылку: ')
name = input('Введите название итогового PDF: ')
main(url, name)
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6❤🔥2🔥2😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека Progress в Python
Библиотека
Позволяет легко отображать статус выполнения длительных операций, таких как загрузка данных, обработка файлов или выполнение вычислений.
Основные возможности библиотеки:
🔵 Индикаторы прогресса: Возможность использовать различные типы индикаторов, такие как линейные и круговые, чтобы визуально представлять прогресс выполнения задачи.
🔵 Настройка: Позволяет настраивать внешний вид индикаторов, включая цвет, символы и текстовые сообщения.
🔵 Простота использования: Имеет интуитивно понятный API, что делает её доступной даже для начинающих разработчиков.
✅ Пример использования библиотеки:
➡️ Установка библиотеки:
📱 Репозиторий
➡️ Справочник Программиста. Подписаться
Библиотека
Progress
предназначена для создания индикаторов прогресса в консольных приложениях.Позволяет легко отображать статус выполнения длительных операций, таких как загрузка данных, обработка файлов или выполнение вычислений.
Основные возможности библиотеки:
from progress.bar import Bar
# Создаём объект Bar с названием 'Processing' и максимальным значением 1,000,000
bar = Bar('Processing', max=1000000)
# Запускаем цикл от 0 до 999,999 (всего 1,000,000 итераций)
for i in range(1000000):
# Увеличиваем прогресс бар на 1 для каждой итерации
bar.next()
# Завершаем прогресс бар, когда все итерации завершены
bar.finish()
pip install progress
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9👍5❤🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для объединения CSV-файлов в один на Python
Для объединения CSV-файлов в один в коде используются библиотеки
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для объединения CSV-файлов в один в коде используются библиотеки
pandas
и os
.pip install pandas
import pandas as pd
import os
# Указываем папку, где хранятся файлы
folder_path = 'путь_к_вашей_папке'
# Получаем список всех CSV файлов в папке
csv_files = [file for file in os.listdir(folder_path) if file.endswith('.csv')]
# Создаем пустой список для хранения DataFrame'ов
data_frames = []
# Читаем каждый CSV файл и добавляем его в список
for file in csv_files:
file_path = os.path.join(folder_path, file)
df = pd.read_csv(file_path)
data_frames.append(df)
# Объединяем все DataFrame'ы в один
combined_df = pd.concat(data_frames, ignore_index=True)
# Сохраняем результат в новый CSV файл
combined_df.to_csv('объединенный_файл.csv', index=False)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤🔥2👍1
Библиотека Marshmallow в Python
Библиотека
Часто используется в веб-приложениях для преобразования сложных типов данных в простые структуры, например, JSON или словари, и наоборот.
➡️ Установка библиотеки:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Библиотека
Marshmallow
предназначена для сериализации/десериализации объектов Python, а также их валидации.Часто используется в веб-приложениях для преобразования сложных типов данных в простые структуры, например, JSON или словари, и наоборот.
Сериализация - преобразование сложных объектов Python (например, экземпляров классов) в простые типы данных (словари, JSON).
Десериализация - преобразование данных из форматов JSON или словарей Python обратно в объекты Python.
Валидация данных - при десериализации Marshmallow автоматически проверяет данные на соответствие определённым требованиям (например, типам полей, обязательности полей и т.д.).
pip install marshmallow
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5👍3🔥1
Проет pixelSplat на Python
Проект
Установка (Python 3.10+):
📱 Репозиторий
💻 Сайт проекта
➡️ Справочник Программиста. Подписаться
Проект
pixelSplat
предназначен для реконструкции 3D-изображений на основе пары 2D-изображений, используя метод Gaussian splatting.Установка (Python 3.10+):
$ git clone https://github.com/dcharatan/pixelsplat.git
$ cd pixelsplat
$ python -m venv venv
$ source venv/bin/activate
$ pip install -r requirements.txt
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍3🔥3
Библиотека hotpdf в Python
Библиотека
Основные возможности библиотеки:
🔵 Извлечение текста: Позволяет извлекать текст как со всей страницы, так и с отдельных блоков PDF-файла.
🔵 Поиск текста: Предоставляет возможности для поиска конкретных фрагментов текста в документе.
🔵 Слияние PDF-файлов: Функция слияния нескольких PDF-документов в один.
🔵 Оптимизация потребления памяти: Использует различные подходы (например, sparse matrix), чтобы снижать объём потребляемой памяти при работе с большими файлами, такими как книги на сотни страниц.
➡️ Установка библиотеки:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Библиотека
hotpdf
предназначена для работы с PDF-документами с акцентом на производительность и экономию памяти.Позволяет обеспечить эффективную обработку и извлечение текста из PDF-файлов, особенно крупных документов.
Основные возможности библиотеки:
pip install hotpdf
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4❤🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Код для извлечения метаданных видеофайла на Python
Для извлечения метаданных в коде используется библиотека
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для извлечения метаданных в коде используется библиотека
pymediainfo
.pip install pymediainfo
from pymediainfo import MediaInfo
def get_detailed_video_metadata(file_path):
# Парсим видеофайл для получения всех доступных метаданных
media_info = MediaInfo.parse(file_path)
# Создаём список для хранения метаданных по каждому треку
detailed_metadata = []
# Проходим по каждому треку в файле
for track in media_info.tracks:
# Собираем все доступные атрибуты трека в виде словаря
track_info = {
'track_type': track.track_type, # Тип трека (например, видео, аудио, текст и т.д.)
'format': track.format, # Формат кодирования
'duration': track.duration, # Продолжительность в миллисекундах (если доступна)
'bit_rate': track.bit_rate, # Битрейт (если доступен)
'width': track.width, # Ширина видео (если это видеотрек)
'height': track.height, # Высота видео (если это видеотрек)
'frame_rate': track.frame_rate, # Частота кадров (если это видеотрек)
'channels': track.channel_s, # Количество каналов (если это аудиотрек)
'sampling_rate': track.sampling_rate, # Частота дискретизации (если это аудиотрек)
'language': track.language, # Язык трека (если указан)
'codec_id': track.codec_id, # Идентификатор кодека
'compression_mode': track.compression_mode, # Режим сжатия
'default': track.default, # Является ли этот трек основным по умолчанию
'forced': track.forced # Принудительно ли используется этот трек
}
# Убираем из словаря пустые значения
track_info = {k: v for k, v in track_info.items() if v is not None}
# Добавляем информацию о треке в общий список
detailed_metadata.append(track_info)
# Возвращаем список метаданных
return detailed_metadata
# Пример использования
file_path = 'video.mp4' # Указываем путь к видео-файлу
# Получаем метаданные
metadata = get_detailed_video_metadata(file_path)
for track in metadata:
# Выводим метаданные каждого трека
print(track)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥4👍3🔥2
Библиотека
jurigged
предназначена для "горячей перезагрузки кода" во время выполнения программы. Она позволяет вносить изменения в код без остановки и перезапуска программы.Основные особенности библиотеки:
jurigged
и запустить в нужном модуле.asyncio
.pip install jurigged
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5👍3🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Библиотека
MeTube
- это веб-интерфейс для youtube-dl
. Предназначена для загрузки видео и аудио с различных видео-платформ, в первую очередь с YouTube.Функционал библиотеки:
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8❤🔥2👍2
This media is not supported in your browser
VIEW IN TELEGRAM
Код для удаления страниц из PDF документа на Python
Для удаления страниц из PDF-файла в коде используется библиотека
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для удаления страниц из PDF-файла в коде используется библиотека
PyPDF2
.pip install pypdf2
import PyPDF2
def remove_pages(input_pdf, output_pdf, pages_to_remove):
# Открываем исходный PDF документ
with open(input_pdf, 'rb') as file:
reader = PyPDF2.PdfReader(file)
writer = PyPDF2.PdfWriter()
# Перебираем все страницы
for page_num in range(len(reader.pages)):
# Если номер страницы не в списке для удаления, добавляем её в новый PDF
if page_num not in pages_to_remove:
writer.add_page(reader.pages[page_num])
# Сохраняем новый PDF документ
with open(output_pdf, 'wb') as output_file:
writer.write(output_file)
# Исходный файл
input_pdf = 'document.pdf'
# Файл с удалёнными страницами
output_pdf = 'output.pdf'
# Номера страниц для удаления (начиная с 0)
pages_to_remove = [0]
remove_pages(input_pdf, output_pdf, pages_to_remove)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7❤🔥3👍3
This media is not supported in your browser
VIEW IN TELEGRAM
diskcache
- это лицензированная Apache2 библиотека кэша с поддержкой диска и файлов, совместимая с Django
. Основные особенности библиотеки:
import time
import diskcache as dc
# Инициализируем кэш в указанной директории
cache = dc.Cache('mycache')
# Функция, имитирующая дорогостоящие вычисления
@cache.memoize(expire=60) # Кэшируем результат на 60 секунд
def expensive_computation(x, y):
print(f"Выполняю тяжелые вычисления для ({x}, {y})...")
time.sleep(5) # Имитация долгих вычислений
return x * y
# Первый вызов функции будет долгим, так как вычисления не кэшированы
start_time = time.time()
result = expensive_computation(5, 10)
print(f"Результат: {result}, время выполнения: {time.time() - start_time} секунд")
# Второй вызов функции с теми же параметрами будет быстрым, так как результат будет взят из кэша
start_time = time.time()
result = expensive_computation(5, 10)
print(f"Результат: {result}, время выполнения: {time.time() - start_time} секунд")
# Вызов с новыми параметрами снова приведет к вычислениям, так как таких данных еще нет в кэше
start_time = time.time()
result = expensive_computation(7, 3)
print(f"Результат: {result}, время выполнения: {time.time() - start_time} секунд")
# Закрываем кэш, когда больше не нужен
cache.close()
pip install diskcache
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥5👍3🔥2
Библиотека Telethon в Python
Основные особенности библиотеки:
🔵 Асинхронность: Поддерживает асинхронные функции, что позволяет обрабатывать множество событий одновременно без блокировки программы.
🔵 Поддержка всех методов Telegram API: Предоставляет доступ к большинству возможностей Telegram, включая отправку сообщений, управление группами и каналами, получение и отправку медиафайлов, работу с пользователями и многое другое.
🔵 События: Поддерживает обработку событий, таких как получение новых сообщений, изменения в чатах и каналах и другие.
🔵 Гибкость: можно использовать как для создания ботов, так и для создания пользователей-клиентов.
➡️ Установка библиотеки:
📱 Репозиторий
⚙️ Документация
➡️ Справочник Программиста. Подписаться
Telethon
- это асинхронная библиотека, предназначенная для взаимодействия с API Telegram и позволяет создавать ботов и клиентов для работы с Telegram через протокол MTProto.Основные особенности библиотеки:
pip install telethon
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥3👍2🔥2🤨1
В данном shorts напишем код для определения широты и долготы по адресу.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤🔥2🔥2
Справочник Программиста
Код для определение координат местоположения по адресу на Python
Для определение координат местоположения по адресу в коде используется библиотека
➡️ Установка библиотеки:
➡️ Справочник Программиста. Подписаться
Для определение координат местоположения по адресу в коде используется библиотека
geopy
.pip install geopy
from geopy.geocoders import Nominatim
# Создаём экземпляр класса Nominatim
geolocator = Nominatim(user_agent="user")
# Определяем координаты местоположения "Рим, Колизей"
location = geolocator.geocode("Рим, Колизей")
# Выводим широту и долготу местоположения
print(location.latitude, location.longitude)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8👍5❤🔥2🤨1