Это lazy load, когда картинки при загрузке не грузятся, а потом догружаются с помощью js после загрузки всей страницы. Для этого атрибут src не заполняется или заполняется какой-нить маленькой заглушкой, а вместо него для реальной картинки используется другой (чаще всего data-src, но возможны другие варианты). Потом скрипт переносит значение data-src в src, и картинка загружается. В общем-то, надо понять, как сайт передаёт реальный адрес картинки, и достать его оттуда.
nonconformiste, где-то там рядом должны лежать докерфайлы, в которы те самые команды навроде:
RUN apt-get update && apt-get install -y ,,,
Вот там и надо менять.
Хотя... там небось написано в начале что-то типа FROM ubuntu:hirsute и тогда это не так просто становится. Проще тогда поменять на название более позднего релиза, хоть и может сломаться что-то ещё.
michadimin, например, через eval можно вызвать внешнюю программу с помощью os.system. Если пользователь передаст вызов удаления Очень Важного Файла вместо формулы - что будет?
Но в Python есть более безопасный вариант eval - ast.literal_eval. Он выполняет не любой код.
mayton2019, всё это зависит от сценария использования. Некоторые ставят в сервера диски, размеченные не на все 100%, чтобы хранить там часто изменяемые данные с высокими требованиями к скорости доступа. Вопрос нехватки места решается не повышением износа диска, а масштабированием (новые диски, новые ноды кластера итд).
kondratev-ad, посоветую сделать авторизацию как обычно на сайтах, с вводом логина-пароля в форму, а для приложений - вызовом API-сервиса. В ответ устанавливать куки, а для приложений либо тоже куки, либо API-ключ. А ещё лучше осваивать современные хорошо продуманные методы авторизации, всякие oauth2, jwt итд.
Если всё же пренепременно хочется http auth, то сайты занести на один домен, раскидывая функционал по location.
freeExec, я так понимаю автору не интересны просто IP (их можно сгенерить циклом), его интересуют IP с какими-нибудь подробностями (например, используемый браузер или разрешение экрана).
X0MYAKADZE, попробуй в уме прогнать программу при указанных условиях. Сначала на /start будет выполнен запрос. У этого запроса есть результат (result)? При первом вызове команды, конечно, нет. А при втором?
Попробуй print (result) сразу после fetchone. Сразу станет всё понятно.
Программа полностью бездушная, она действует так, как её написали.