nginx: отключить доступ к сайту по ip

Для того чтобы отключить доступ к сайту по url вида https://ip достаточно вверху конфигурации добавить строчки вида:

Вместо return 444, можно указать любую ошибку. Ну или сделать редирект на основной сайт, указав:

Блокировка повторного запуска скрипта на Python

Обычно для того чтобы исключить повторный запуск скрипта на python используют классический способ:

И он хорошо срабатывает при периодическом запуске например из крона скрипта с какойто периодичностью, для проверки «а закончилась ли работа предыдущего запуска?». Но дело в том, что иногда пишут скрипт которые работает с разным функционалом в зависимости от параметров запуска. Тогда в этом случае вполне допустим запуск скрипта, но с другим параметром. Для того чтобы обойти этот момент, я стал использовать несколько другой способ. А именно: опрашиваю список запущенных в текущий момент процессов и смотрю параметры их запуска. Если нахожу совпадение, то выхожу. Если нет — позволяю скрипту работать дальше. Вышло примерно так:

Парсинг новостей групп VK

В продолжение предыдущей статьи, появилась необходимость парсить так-же и новости в социальной сети vk с проверкой на наличие стоп-слов. Для этого воспользовался модулем vk на python. Так-же понадобится токен доступа полученный на https://vk.com/apps?act=manage

В итоге код получился примерно следующий:

По сути код очень простой — получаем через API VK все последние новости из каждой группы. Если в тексте новости находим стоп-слово, то отправляем соответствующее письмо. Так-же использую дополнительный файл функций, которые далее использую во всех парсерах:

Парсинг телеграм каналов

Задача: необходимо просматривать несколько новостных телеграм каналов, и в случае обнаружения в новости неких стоп-слов, высылать уведомление на электронную почту.

К сожалению воспользоваться для решения этой задачи API для работы с ботами не получится, т.к. такого функционала просто нет. Выходом может служить — воспользоваться одним из многочисленных клиентов Телеграм, реализованых на PHP, Python, JavaScript (NodeJS) и т.д. В моём случае — воспользуюсь python и библиотекой telethon. К ней довольно толковая документация, в том числе и на русском

Итак, для начала нужно зайти на ресурс https://my.telegram.org/apps и получить api_id и api_hash, для того чтобы библиотека смогла создать соединение. Далее создам файл с настройками вида:

В нём перечисляем каналы которые мониторим и стоп слова, которые ловим. Алгоритм работы скрипта:

  • соединяемся с сервером телеграм
  • получаем список последних новостей канала
  • если ID новости уже смотрели, пропускаем его
  • если в тексте новости нашли стоп слово — отправляем уведомление на почту

А вот и сам скрипт:

Чтиво за последнее время

Тяжело идёт чтение в последнее время. Тупо времени нет..да и книг интересных что-то не попадается особо. Однако!

  • Таран Харт. Похититель бессмертия. Сюжет: поиск «филосовского камня» на космической станции около того и гляди взорвущейся звезды. Читабельность: 3 из 5
  • Евгений Панов. Последний Русский. Сюжет: муть, муть, остался последний русский на земле, русские наследники какойто космической рассы, муть, муть. Не дочитал. Читабельность 1 из 5
  • Алексей Имп. Пусть орла — 1, Ассимиляция. Очередной попаданец в космос. Перечитка, читал уже лет 5 назад. В принципе норм, но повторно не зашло. Оценка 3 из 5
  • Сергей Ткачев. Эра подземелий. Сюжет: пришествие системы, но основное действо по добыче сокровищ в подземельях с кучей монстров. Может и зашло бы если бы сюжет не был такой избитый. Читабельность 3 из 5
  • Игорь Евдокимов. Попал так попал 1-4. Сюжет: попаданец школьника в космос, миры EVE. Читабельность 4 из 5

Детское:

Гарии Поттер и филосовский камень

1 2 3 4 297