Python Academy
前往频道在 Telegram
Python Academy — один канал вместо тысячи учебников Чат канала: @python_academy_chat Сотрудничество: @zubar89 Канал включён в перечень РКН: https://rkn.link/TVu
显示更多📈 Telegram 频道 Python Academy 的分析概览
频道 Python Academy (@python_academy) 俄语 语言赛道中的 是活跃参与者。目前社区聚集了 43 943 名订阅者,在 技术与应用 类别中位列第 3 052,并在 俄罗斯 地区排名第 14 335 位。
📊 受众指标与增长动态
自 невідомо 创建以来,项目保持高速增长,吸引了 43 943 名订阅者。
根据 28 十月, 2026 的最新数据,频道保持稳定运转。过去 30 天订阅人数变化为 -284,过去 24 小时变化为 -2,整体触达仍然可观。
- 认证状态: 未认证
- 互动率 (ER): 平均受众互动率为 4.87%。内容发布后 24 小时内通常能获得 2.20% 的反应,占订阅者总量。
- 帖子覆盖: 每篇帖子平均可获得 2 142 次浏览,首日通常累积 969 次浏览。
- 互动与反馈: 受众积极参与,单帖平均反应数为 6。
- 主题关注点: 内容集中在 строка, модуль, документация, taskiq, yaml 等核心主题上。
📝 描述与内容策略
作者将该频道定位为表达主观观点的平台:
“Python Academy — один канал вместо тысячи учебников
Чат канала: @python_academy_chat
Сотрудничество: @zubar89
Канал включён в перечень РКН: https://rkn.link/TVu”
凭借高频更新(最新数据采集于 29 十月, 2026),频道始终保持新鲜度与高覆盖。分析显示受众积极互动,使其成为 技术与应用 类别中的关键影响点。
43 943
订阅者
-224 小时
-647 天
-28430 天
帖子存档
43 943
Скачиваем вебсайты целиком
Максимально простой, но при этом мощный пакет
pywebcopy поможет вам клонировать отдельные веб-страницы или даже целые сайты.
Функция save_webpage скачивает страницу по указанной ссылке, в аргументы также можно передать путь, куда сохранить результат.
А вот save_website дает возможность скачать целый вебсайт рекурсивно. Например, если сайт представляет из себя блог, то скрипт скачет все статьи, которые есть на сайте.
Но здесь надо быть аккуратнее, подобная рекурсивная загрузка отправит много запросов к серверу и может сильно нагрузить его, если на сайте много страниц.
#pywebcopy43 943
Получаем текст с картинки
У Google есть система Tesseract, которая позволяет парсить текст с картинок с помощью оптического распознавания символов.
И в качестве обертки над их системой, был создан пакет
pytesseract, который максимально удобно и легко использовать.
Для того, чтобы получить текст с картинки, нужно вызвать метод image_to_string. Если вас интересует текст на русском, то следует указать аургмент lang как 'rus'.
Еще важно, что для открытия картинок рекомендуется использовать pillow, хоть и имеется возможность просто указать путь к файлу в виде строки.
#pytesseract43 943
Работа с PDF файлами используя PyPDF2
В этом посте, вы узнаете, как работать с PDF-файлами в Python.
PyPDF2 предоставляет функциональность для работы с PDF-файлами в Python, позволяя автоматизировать процессы обработки и анализа документов в формате PDF.
Пример кода:
import PyPDF2
with open('example.pdf', 'rb') as file:
pdf_reader = PyPDF2.PdfReader(file)
num_pages = len(pdf_reader.pages)
print(f"Количество страниц в PDF: {num_pages}")
first_page_text = pdf_reader.pages[0].extract_text()
print("Текст с первой страницы:")
print(first_page_text)
pdf_writer = PyPDF2.PdfWriter()
pdf_writer.add_page(pdf_reader.pages[0])
with open('new_document.pdf', 'wb') as new_file:
pdf_writer.write(new_file)
print("Обработка PDF завершена.")
В этом примере мы открываем PDF-файл, используя PyPDF2, извлекаем информацию о количестве страниц и тексте с первой страницы. Затем мы создаем новый PDF-файл, добавляем в него первую страницу и сохраняем его под именем "new_document.pdf".
PyPDF2 - это мощный инструмент для работы с PDF-документами в Python. Он предоставляет возможности для чтения, создания и манипулирования PDF-файлами, что делает его отличным выбором для автоматизации задач, связанных с обработкой документов в этом формате.
#python #pypdf243 943
Работа с методом str.replace() в Python
Python предлагает множество удобных встроенных методов для работы со строками. Один из таких методов - str.replace(), который используется для замены частей строки.
Метод принимает два основных аргумента: первый - это подстрока, которую нужно заменить в исходной строке, а второй - это подстрока, на которую происходит замена.
Кроме того, существует третий необязательный аргумент, определяющий количество замен старой подстроки на новую. Если он не указан, метод заменяет все вхождения.
#python #replace43 943
⚡️ Мы сделали нового книжного бота — он гораздо быстрее по скорости, в нем в 4 раза больше книг, исправлена ошибка с форматами, теперь есть все форматы, включая PDF
В случае блокировки этого бота тот бот будет жить, срочно сохраняйте нового бота, чтобы читать все книги мира: @flibustatopbot
43 943
dateparser
dateparser — это библиотека Python, предоставляющая удобные инструменты для разбора и анализа текстовых дат и времени. Она автоматически определяет формат даты и времени в текстовой строке и преобразует его в объект datetime. Это особенно полезно, когда у вас есть текстовые описания дат и времени в различных форматах, и вы хотите их структурировать.
Обратите внимание, что dateparser может использовать текущие локальные настройки для определения форматов даты и времени, поэтому результаты могут зависеть от настроек вашей системы. Вы также можете явно указать нужную локаль с помощью аргумента locales, если это необходимо.
#python #dateparser43 943
Деструкторы
При уничтожении экземпляра класса в большинстве языков вызывается специальный метод, который называется деструктор.
В Python деструктор можно переопределять с помощью магического метода
__del__, который вызовется автоматически при удалении объекта.
Вообще деструкторы крайне редко переопределяется в Python, но полезно знать, что именно эти методы отвечают за очистку при удалении объекта.
#классы43 943
Использование внешних процессов в Python с помощью subprocess
В мире программирования бывают моменты, когда необходимо взаимодействовать с внешними программами из кода на
Python. Для этих задач отлично подходит модуль subprocess, который предоставляет удобный способ запуска внешних процессов, передачи данных им и получения результатов выполнения.
Что такое subprocess?
subprocess - это модуль Python, который предоставляет множество возможностей для запуска новых процессов, подключения к существующим процессам, а также обмена данными между вашим кодом и внешними программами.
Пример использования subprocess:
import subprocess
# Простой пример: выполнение команды "ls" в командной строке
result = subprocess.run(['ls', '-l'], stdout=subprocess.PIPE, text=True)
# Вывод результата выполнения команды
print(result.stdout)
В данном примере мы использовали subprocess.run для выполнения команды "ls -l". Параметр stdout=subprocess.PIPE указывает на перенаправление вывода команды в переменную result.stdout. Параметр text=True гарантирует, что вывод будет в текстовом формате.
Передача данных и получение результата:
import subprocess
# Передача данных в команду и получение результата
input_data = "Hello, subprocess!"
result = subprocess.run(['echo', input_data], stdout=subprocess.PIPE, text=True)
# Вывод результата выполнения команды
print(result.stdout)
В данном примере мы использовали команду echo для вывода переданных данных. subprocess.run позволяет передавать данные в команду через параметр input.
subprocess также предоставляет множество других функций для более сложных сценариев взаимодействия с процессами, таких как запуск процесса в фоновом режиме, обработка ошибок, а также потоковый вывод данных.
#python #subprocess43 943
Получение геолокации по IP с использованием ip2geotools
Недавно я обнаружил увлекательный пакет
ip2geotools, который обеспечивает возможность получения геолокации по IP из различных баз данных.
Пример кода для получения информации по IP с использованием класса DbIpCity, представляющего некоммерческую базу данных, выглядит следующим образом:
from ip2geotools.databases.noncommercial import DbIpCity
def get_ip_geolocation(ip_address):
try:
response = DbIpCity.get(ip_address, api_key='free')
city = response.city
region = response.region
country = response.country
latitude = response.latitude
longitude = response.longitude
print(f"Информация о местоположении для IP {ip_address}:")
print(f"Город: {city}")
print(f"Регион: {region}")
print(f"Страна: {country}")
print(f"Широта: {latitude}")
print(f"Долгота: {longitude}")
except Exception as e:
print(f"Ошибка при получении информации по IP {ip_address}: {e}")
ip_address_to_check = '8.8.8.8'
get_ip_geolocation(ip_address_to_check)
Этот код использует метод get из класса DbIpCity для получения информации о местоположении по заданному IP-адресу. Помните о том, что для использования некоторых баз данных может потребоваться API-ключ.
#python #ip2geotools43 943
Курс и конвертер валют в Python
Для работы с разными валютами и их курсами существует библиотека forex-python.
С её помощью можно как узнать курс любой валюты, так и сконвертировать одну валюту в другую.
Ознакомиться с интерактивным примером кода можно тут.
#currency #forex_python
43 943
Вычисление размера объектов
Для вычисления размера объекта мы можем использовать функцию
getsizeof(object[, default]) из модуля sys. Так как в python все по сути является объектами, то и вычислить размер в памяти мы можем у любого такого объекта.
И хотя все built-in (встроенные) объекты и вернут правильный размер, в общем случае это не должно быть верно для каких-либо пользовательских объектов.
Аргумент default позволяет определить значение, которое будет возвращено, если тип объекта не предоставляет средства для извлечения размера и вызовет TypeError .
Функция getsizeof вызывает метод __sizeof__ объекта и добавляет дополнительные служебные данные сборщика мусора.
#getsizeof43 943
⚡️ Ночью Телеграм заблокировал крупнейшего бота с бесплатными книгами — Флибусту. Уже утром разработчики подняли новый, срочно сохраняйте себе: t.me/flibustatopbot
43 943
Запись экрана в Windows с помощью Python
Для записи экрана в Windows используя
Python существует несколько библиотек, однако наиболее эффективной оказалась d3dshot.
Библиотека d3dshot использует системные библиотеки DXGI и Direct3D для быстрого и надежного захвата экрана.
Эта библиотека идеально подходит для создания игровых ботов.
#python #d3dshot43 943
Вызов программ операционной системы
sh — это полноценный интерфейс, как альтернатива
subprocess, который позволяет вызывать любую программу, как если бы это была обычная функция.
Все запускаемые команды импортируются, как обычные функции, но функциями не являются, а лишь динамически обращаются к командам системы. Таким образом мы можем по сути обратиться к любой программе в системе.
sh полагается на системные вызовы Unix и работает только в Unix-подобных операционных системах, т.е. данный модуль не подойдет для работы с Windows.
Для обращения к командам программы и передать набор аргументов команды, мы можем передать их как обычные аргументы функции.
Также в модуле реализована функция which, которая находит полный путь до программы либо возвращает None, если программа не найдена.
#sh43 943
Установление SSH-соединения с сервером
Библиотека
paramiko предоставляет возможность подключения к серверам через протокол SSH2, позволяя выполнять те же действия, что и при использовании стандартной утилиты ssh в Linux.
Модуль paramiko отличается простотой в использовании, и вы можете ознакомиться с примерами его основных методов на представленном изображении. В качестве любопытного факта, название Paramiko происходит от слияния слов "параноик" и "друг" на языке эсперанто.
Для установки пакета используйте менеджер пакетов pip в привычном порядке. Подробную документацию можно найти здесь.
#python #paramiko #ssh43 943
Оптимизация Памяти в Python с Библиотекой gc
Если вы заботитесь о производительности ваших
Python-приложений, то библиотека gc (Garbage Collector) вам точно пригодится. Давайте рассмотрим, почему.
gc в Python предназначена для автоматического управления памятью, освобождая вас от рутины по управлению объектами. Это особенно полезно в задачах, связанных с избежанием утечек памяти и оптимизацией её использования.
import gc
gc.enable()
class SampleObject:
def __init__(self, value):
self.value = value
objects_list = [SampleObject(i) for i in range(1000000)]
gc.collect()
# Пример обработки данных (например, фильтрация объектов)
filtered_objects = [obj for obj in objects_list if obj.value % 2 == 0]
gc.collect()
print(filtered_objects[:10])
В приведенном коде мы создаем список объектов SampleObject, который может занять значительное количество памяти. После обработки данных или в других стратегических точках программы, вызывается сборщик мусора для освобождения памяти, занятой неиспользуемыми объектами.
Использование библиотеки gc в Python может значительно улучшить производительность ваших программ, освободив вас от рутины по управлению памятью. Это особенно важно в проектах с большим объемом данных или длительным временем выполнения.
#python #gc #garbagecleaner43 943
Получаем метаданные из аудиофайла
Для извлечения метаданных из аудиофайлов, а также их редактирования есть очень удобный модуль
mutagen. Модуль позволяет получить всю основную информацию об аудиофайле: длину, битрейт, исполнителя и так далее.
Модуль поддерживает форматы метаданных APEv2 и ID3v2, анализируя все кадры ID3v2.4 (посмотреть все нужные теги ID3v2 можно тут).
#audio #mutagen43 943
Скачиваем видео с YouTube
Пакет
pytube предоставляет всю небходимую функциональность для скачивания видео с YouTube, а также для сбора всей информации о нем.
Для работы нам необходимо создать объект класса YouTube. Помимо ссылки на видео в конструктор можно передать в качестве параметров функции для обработки прогресса загрузки и завершения.
Большинство видео на ютубе не имеют аудиодорожки на потоках с высоким разрешением, свыше 720p — это связано с технологией передачи DASH, которую использует YouTube.
На картинке мы показали как отфильтровать потоки с прогрессивной передачей и выбрать из полученного списка с максимальным доступным разрешением до 720p.
Для загрузки выбранного потока используем функцию download(), в функцию можно передать в качестве параметров путь до директории для сохранения и имя файла.
#python #youtube43 943
Важное про цифры и Юникод
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 — не единственные символы, которые считаются цифрами. Python следует правилам Юникода и обрабатывает несколько сотен символов как цифры. Полный список находится здесь.
Это крайне важно знать, потому что эти символы влияют на такие функции, как
int, unicode.isdecimal и даже re.match.
Думаю, в один момент это знание сэкономит вам время на исправление "бага" с такими странными символами. Предупрежден — значит вооружен.
#числа #юникод43 943
Красивый вывод таблиц
Недавно нам понадобилось логировать часть базы данных. И тут мы вспомнили про прекрасный модуль
prettytable, который позволяет красиво выводить таблицы.
Итак, имена столбцов задается с помощью атрибута table.field_names. А добавлять строки с данными в таблицу можно методом table.add_row([]), передавая туда список элементов.
Но даже если вы не фанат командной строки, то иногда нужно сохранить отчет о работе вашей программы в текстовый файл. В таком случае можно сохранить саму таблицу, вызвав метод table.get_string().
#трюки #prettytable