Недавний
- Получить список видеозаписей YouTube о человеке
- От Docker-Composer к Docker Swarm: Configs
- Docker-Композиция проектов с одинаковыми именами сервисов
- X Автоматизация и скраппинг веб-сайтов с помощью Selenium
- Aiohttp с пользовательскими DNS-серверами, Unbound и Docker
- Вернуть только значения списка записей из FastAPI
Большинство просмотренных
- Использование UUID вместо Integer Autoincrement Primary Keys с SQLAlchemy и MariaDb
- Используя Python pyOpenSSL для проверки SSL-сертификатов, загруженных с хоста
- Использование PyInstaller и Cython для создания исполняемого файла Python
- Подключение к службе на хосте Docker из контейнера Docker
- SQLAlchemy: Использование Cascade Deletes для удаления связанных объектов
- Flask Удовлетворительный запрос API проверка параметров запроса с помощью схем Маршмэллоу
Теги
AiohttpAJAXAlembicAlpineAPIApplication settingsAsyncBabelBeautifulSoupBootstrapCachingCaptchaCeleryColorsCompileCronCryptographyCSRF protectionCythonDecoratorDeep LearningDeepLDispatcherMiddleWareDistributionDNSDockerDocker-composeEmailExceptionsFastAPIFlaskGunicornIconsIMAPInternetISPConfigJavascriptJinja2Log fileLoggingMachine LearningMariaDBMessage brokerMultilanguageMultiprocessingPentestingPikaPostfixProfilingPyInstallerpyOpenSSLPytestRabbitMQRedisScrapingSecurity testingSeleniumSlackSQLAlchemyTestingThreadsTimezoneToastsUbuntu TouchUUIDWeb automationWerkzeugWheelsWTFormsYouTubeПолучить список видеозаписей YouTube о человеке
7 сентября 2023 0
Peter
Несколько дней назад мне задали вопрос: Можно ли скачать все публичные видео YouTube человека, которые были загружены в период с 2020 года по сегодняшний день. Общее количество видеороликов было около двухсот. И нет, я не смог получить доступ к учетной записи YouTube этого человека.
В этом посте я использую YouTube API для загрузки необходимых метаданных из видеороликов, по одному элементу на ...
От Docker-Composer к Docker Swarm: Configs
29 августа 2023 0
Peter
У вас есть приложение, состоящее из нескольких проектов Docker-Compose, и вы используете Docker-Compose для сборки, запуска и развертывания.
Теперь вы хотите сделать еще один шаг вперед и переместить некоторые из проектов Docker-Compose на другой сервер. Наиболее очевидным выбором для этого, который стоит попробовать в первую очередь, является Docker Swarm. Вы изучаете еще несколько команд Docker ...
Docker-Композиция проектов с одинаковыми именами сервисов
25 августа 2023 0
Peter
Если у нас есть идентичные проекты Docker-Compose с одинаковыми именами сервисов, соединенные сетью Docker , то мы должны убедиться, что обращаемся к нужному сервису. В сети Docker существует два способа доступа к сервису:
По имени сервиса
По имени контейнера
У меня есть несколько проектов Docker-Compose, которые практически идентичны, каждый проект находится в своей директории и имеет ...
X Автоматизация и скраппинг веб-сайтов с помощью Selenium
11 августа 2023 0
Peter
Когда вы хотите получить данные из Web, вы должны знать, что вы делаете. Не стоит перегружать целевой сервер запросами. Если вы делаете это из одного места, например IP address, вы можете получить (временный) бан.
Если вы хотите скрести большие объемы, рассмотрите возможность использования специализированных сервисов, таких как ZenRows, ScrapFly, WebScrapingAPI, ScrapingAnt и т.д. Они dist распределяют ...
Aiohttp с пользовательскими DNS-серверами, Unbound и Docker
13 июля 2023 0
Peter
Использование aiohttp выглядит так просто, но это не так. Это сбивает с толку. Документация 'Client Quickstart' начинается со следующего:
Примечание
Не создавайте сессию для каждого запроса. Скорее всего, вам нужна сессия для каждого приложения, которое выполняет все запросы вместе.
В более сложных случаях может потребоваться сессия для каждого сайта, например, одна для Github, а другая ...
Вернуть только значения списка записей из FastAPI
6 июля 2023 0
Peter
В Python все является классом, что означает, что данные модели похожи на словарь. Но у словарей есть ключи. И когда вы возвращаете список из многих словарей из FastAPI, размер данных, ключей и значений, обычно в два раза больше, чем размер значений. Больший размер и большее время означает, что наше приложение не очень эффективно, медленнее, чем нужно. Это также означает, что оно потребляет больше ...
Предотвращение спуфинга IP address с помощью фильтрации обратного пути
15 июня 2023 0
Peter
Этот пост посвящен системному администрированию и не имеет никакого отношения к Python. Тогда зачем размещать это здесь? Потому что я думаю, что многие, как и я, управляют одним или несколькими веб-серверами и иногда сталкиваются с этими проблемами.
В предыдущем посте я писал, что мой сервер ISPConfig Debian подвергался сканированию портов и т.д. и что оказалось, что 95% всех запросов приходили ...
Сбор и блокировка IP addresses с помощью ipset и Python
21 мая 2023 0
Peter
Если у вас есть сервер, подключенный к Интернету, вы, вероятно, видели это в своих журналах: множество незаконных внешних запросов, пытающихся получить доступ к вашим службам.
Я обслуживаю сервер Debian и использую Fail2Ban для предотвращения вторжений. Стандартная практика, установил, настроил и забыл. Поскольку сервер стал падать в определенное время, я решил присмотреться повнимательнее.
Я в ...
Как отменить задания с помощью Python Асинхронный ввод-вывод (AsyncIO)
2 мая 2023 0
Peter
Для одного проекта я использовал AIOHTTP для проверки ответов многих удаленных веб-сайтов, URL. URL-адреса поступали из списка. Этот список может содержать дубликаты.
Все было хорошо, пока я не заметил, что некоторые ответы также имели код состояния: HTTP-429 'Слишком много запросов'. Какова бы ни была причина, перегрузка, безопасность, мы хотим вести себя дружелюбно и не хотим вызывать идентичные ...
Запустите команду Docker внутри контейнера Docker Cron
18 апреля 2023 0
Peter
При использовании Docker ваше приложение обычно состоит из нескольких контейнеров Docker . Часто вы хотите запускать сценарии внутри этих контейнеров в определенные моменты времени, например, каждые пять минут, раз в час, раз в день.
Здесь на помощь приходит планировщик заданий Cron, и есть несколько вариантов, как это сделать. В этой заметке я создаю отдельный контейнер Cron и использую команду ...
Создание Captcha с Flask, WTForms, SQLAlchemy, SQLite
10 апреля 2023
Peter
В прошлом я написал некоторый код (только для текста) Captcha для сайта Flask . Это обновление. Здесь я использую пакет Pypi для генерации изображения. Кроме того, я добавил кнопку обновления изображения Captcha .Вы можете попробовать код ниже, это форма подписки (на рассылку). Хотя это решение Captcha для сайта Flask , его можно преобразовать в сервер Captcha . Обратите внимание, что я использую ...
Multiprocessing, блокировка файлов, SQLite и тестирование
30 марта 2023 0
Peter
Я работал над проектом с SQLAlchemy и PostgreSQL. Для нескольких таблиц я хотел ограничить количество строк на user, и сделал это, добавив функцию проверки PostgreSQL и триггер.
Ручное тестирование показало, что все работает нормально, но что если user запустит несколько процессов и добавит строки в одно и то же время? Я добавил 'pg_advisory_xact_lock', но будет ли это действительно работать? ...
Отправка сообщений в Slack с помощью chat_postMessage
23 марта 2023 0
Peter
Для одного проекта я уже отправлял сообщения по электронной почте, но теперь мне захотелось также отправлять сообщения в Slack. Конечно, мы используем Python Slack SDK.
Документацию можно найти на странице: Python Slack SDK - Web Client. В этом посте я создаю простой класс SlackAPI с собственным классом исключений SlackError.
Создание и настройка нового приложения Slack
Мы будем отправлять наши ...
PostgreSQL резервное копирование с Docker SDK для Python
9 марта 2023 0
Peter
Это небольшая заметка о резервном копировании базы данных Dockerized PostgreSQL . Для доступа к базе данных мы обычно запускаем на хосте сценарий Bash с такими командами, как:
docker exec -t <container> bash -c '<command>'
В этом посте мы заменим наш сценарий Bash на сценарий Python . Почему? Потому что мы знаем Python и программирование на Bash может отнимать много времени. Хотя ...
Предотвращение отправки дубликатов сообщений в удаленную систему
21 февраля 2023 0
Peter
Много раз приложения должны отправлять сообщения в удаленную систему. В идеальном мире нам приходится иметь дело только со счастливым потоком: не происходит никаких плохих вещей, таких как исключения, ошибки.
К сожалению, мир не идеален. Помимо ошибок программирования, соединения могут не работать, системы баз данных могут не работать, удаленные системы могут не работать. Простой вопрос - не могли ...
Politician Translator с Spacy и Negate
11 января 2023 0
Peter
Это короткое сообщение. Мы постоянно слышим, что говорят политики, но чаще всего они имеют в виду противоположное. Например, если политик говорит, что он снизит налоги, то налоги вырастут. Если политик говорит, что у него не было отношений с этой женщиной, то ... И так далее.
И я подумал, почему бы не сделать Politician Translator в Python? В этом посте я начну с результатов. Код приведен в конце.
...
От монолитного кода к сервисам с помощью RabbitMQ и Pika
8 января 2023 0
Peter
Этот пост посвящен использованию RabbitMQ в вашем приложении Python . Если вы уже используете Rabbit, вы, вероятно, не найдете ничего полезного в этой заметке. Почему пост о RabbitMQ? Потому что у меня есть приложение, использующее его. Оно работает уже год, и я решил поделиться своим опытом.
В этом посте мы преобразуем монолитное приложение в сервисы, развязанные очередями. Также я буду говорить ...
Приложение Flask , показывающее stdout и stderr фонового задания
19 декабря 2022 0
Peter
В проекте Flask мне нужно было запустить фоновое задание, а точнее команду, запущенную в терминале (Linux), и показать ее вывод, stdout и sterr, в реальном времени в окне браузера. Вы можете найти несколько решений в интернете, и это просто еще одно. Я также использую некоторый код, который я нашел в Интернете, см. ссылки ниже.
Это решение использует:
мультипроцессинг, для запуска нового процесса ...
Агрегирование и tail Docker журналов контейнеров с помощью Docker SDK для Python
11 декабря 2022 0
Peter
Проблема: У вас есть приложение Docker , состоящее из множества (микро) сервисов (контейнеров), и вы хотите отслеживать все эти контейнеры на предмет ошибок.
Сервисы в основном представляют собой скрипты Python , которые используют стандартный модуль логирования Python и печатают сообщения в stdout (и stderr):
... DEBUG ...
... INFO ...
... ERROR ...
При использовании стандартного драйвера ...
Python регистрация приложений с Docker
5 декабря 2022 0
Peter
Когда вы разрабатываете программное приложение, вероятно, первое, что вы настроите, это ведение журнала. Сначала только в консоль, но вскоре вы добавите файлы журналов.
Несколько лет назад я начал использовать Docker для разработки и производства. При переходе на Docker я не сделал много изменений. Файлы журнала приложения по-прежнему находятся в каталоге журнала на томе Docker . Это означает, ...