Сегодня хочу поделиться с вами программой на Python, которая использует f-строки для генерации анаграмм. Эта небольшая, но интересная программа просит пользователя ввести свое имя, после чего создает анаграмму этого имени.
Использование f-строк в данной программе позволяет ясно и компактно форматировать вывод, делая процесс генерации анаграмм более эффективным и читаемым.
Вместе погрузимся в мир Python и затронем важные аспекты его синтаксиса! 💻🔍
Использование f-строк в данной программе позволяет ясно и компактно форматировать вывод, делая процесс генерации анаграмм более эффективным и читаемым.
Вместе погрузимся в мир Python и затронем важные аспекты его синтаксиса! 💻🔍
import random
def generate_anagram(name):
letters = list(name)
random.shuffle(letters)
anagram = ''.join(letters)
return anagram
name = input("Введите ваше имя: ")
anagram = generate_anagram(name)
print(f"Анаграмма вашего имени: {anagram}")
Чудеса GameDev'a который мы заслужили 🎮
Для установки библиотеки вводим
Недавно я погрузился в изучение библиотек Python и наткнулся на библиотеку для создания игр. Вдохновившись, я решил попробовать свои силы и написал простую игру, где нужно управлять тунчиком и стрелять по астероидам.
По законам рекламы, я просто обязан описать умопомрачительные тонкости геймплея:
🔍 Основные особенности игры:
Управление тунком 🕹️
Вы управляете танком, который движется по арене.
Стрельба по астероидам 💥
Ваша задача — уничтожать астероиды. За каждый сбитый астероид начисляются очки.
Ограничения арены 🚫
Танк не может выходить за пределы арены, его положение постоянно отслеживается.
Конец игры 🛑
Игра заканчивается, если происходит столкновение с астероидом.
Код моего сверх проекта можно посмотреть по ссылке тык
Думаю можно бахнуть трейлер😧
#Python #GameDevelopment #GameDev
Для установки библиотеки вводим
pip install pygame
Недавно я погрузился в изучение библиотек Python и наткнулся на библиотеку для создания игр. Вдохновившись, я решил попробовать свои силы и написал простую игру, где нужно управлять тунчиком и стрелять по астероидам.
По законам рекламы, я просто обязан описать умопомрачительные тонкости геймплея:
🔍 Основные особенности игры:
Управление тунком 🕹️
Вы управляете танком, который движется по арене.
Стрельба по астероидам 💥
Ваша задача — уничтожать астероиды. За каждый сбитый астероид начисляются очки.
Ограничения арены 🚫
Танк не может выходить за пределы арены, его положение постоянно отслеживается.
Конец игры 🛑
Игра заканчивается, если происходит столкновение с астероидом.
Код моего сверх проекта можно посмотреть по ссылке тык
Думаю можно бахнуть трейлер
#Python #GameDevelopment #GameDev
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤1👍1
Декораторы и метапрограммирование 🛠️
🏗️ В мире Python декораторы играют важную роль, позволяя изменять поведение функций без изменения их кода. Это мощный инструмент метапрограммирования, который открывает новые возможности для расширения функциональности программ.
Что такое декораторы?
Декораторы - это функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию, изменяя или расширяя поведение оригинальной функции. Они используются для добавления дополнительной логики, проверок или обертывания функций для упрощения кода.
Пример декоратора, который замеряет время выполнения функции:
🔍 В этом примере декоратор
Зачем это нужно?
Использование декораторов позволяет разделять логику программы на более мелкие и легко управляемые части. Они позволяют добавлять функциональность к существующему коду без его изменения, делая код более модульным и гибким.
Заключение:
Декораторы - это мощный инструмент, который помогает улучшить структуру и функциональность Python-приложений. Понимание их работы и применение в коде позволят вам писать более эффективный и легко поддерживаемый код.
#Python #PythonCrafts 🔧
🏗️ В мире Python декораторы играют важную роль, позволяя изменять поведение функций без изменения их кода. Это мощный инструмент метапрограммирования, который открывает новые возможности для расширения функциональности программ.
Что такое декораторы?
Декораторы - это функции, которые принимают другую функцию в качестве аргумента и возвращают новую функцию, изменяя или расширяя поведение оригинальной функции. Они используются для добавления дополнительной логики, проверок или обертывания функций для упрощения кода.
Пример декоратора, который замеряет время выполнения функции:
import time
def timer(func):
def wrapper(*args, **kwargs):
start_time = time.time()
result = func(*args, **kwargs)
end_time = time.time()
print(f"Время выполнения функции {func.__name__}: {end_time - start_time} сек.")
return result
return wrapper
@timer
def some_function():
# Что-то выполняется...
time.sleep(2)
return "Готово!"
print(some_function())
🔍 В этом примере декоратор
timer измеряет время выполнения функции some_function и выводит результаты. Обратите внимание на использование символа @ перед именем декоратора, что делает его применение к функции более удобным.Зачем это нужно?
Использование декораторов позволяет разделять логику программы на более мелкие и легко управляемые части. Они позволяют добавлять функциональность к существующему коду без его изменения, делая код более модульным и гибким.
Заключение:
Декораторы - это мощный инструмент, который помогает улучшить структуру и функциональность Python-приложений. Понимание их работы и применение в коде позволят вам писать более эффективный и легко поддерживаемый код.
#Python #PythonCrafts 🔧
👍3👏1😱1
Очень краткое сравнение Fedora, Ubuntu и Arch Linux 🐧
Выбирая операционную систему на базе Linux, часто рассматривают Fedora, Ubuntu и Arch Linux.
Fedora 🟦
Плюсы:
🆕 Новейшее ПО: Быстрые обновления.
🧰 Поддержка Red Hat: Высокое качество и стабильность.
⚡ Скорость обновлений: Частые обновления.
Минусы:
⏳ Краткий цикл поддержки: Только 13 месяцев. (придется ставить систему заново)
🔄 Потенциальная нестабильность: Новейшее ПО может быть менее стабильным.
Ubuntu 🟧
Плюсы:
👶 Дружелюбие к пользователям: Интуитивный интерфейс.
🔒 LTS поддержка: 5 лет стабильных обновлений.
🌐 Большое сообщество: Очень много гайдов на русском языке.
Минусы:
📦 Менее новые пакеты: ПО может быть устаревшим.
🛠️ Перегруженность: Много предустановленных программ.
Arch Linux 🟩
Плюсы:
🔧 Кастомизация: Полный контроль над системой.
♻️ Rolling release: Постоянные обновления.
📚 Arch Wiki: Обширная документация.
Минусы:
🚧 Сложность установки: Требуются технические знания.
⏲️ Время на настройку: Может занять много времени, в среднем может уйти реальных 48 часов...
Какую выбрать? 🤔
Если будет интересна эта тема могу подробнее пояснить про дистрибутивы, недавно вот заинтересовал VoidLinux
Выбирая операционную систему на базе Linux, часто рассматривают Fedora, Ubuntu и Arch Linux.
Fedora 🟦
Плюсы:
🆕 Новейшее ПО: Быстрые обновления.
🧰 Поддержка Red Hat: Высокое качество и стабильность.
⚡ Скорость обновлений: Частые обновления.
Минусы:
⏳ Краткий цикл поддержки: Только 13 месяцев. (придется ставить систему заново)
🔄 Потенциальная нестабильность: Новейшее ПО может быть менее стабильным.
Ubuntu 🟧
Плюсы:
👶 Дружелюбие к пользователям: Интуитивный интерфейс.
🔒 LTS поддержка: 5 лет стабильных обновлений.
🌐 Большое сообщество: Очень много гайдов на русском языке.
Минусы:
📦 Менее новые пакеты: ПО может быть устаревшим.
🛠️ Перегруженность: Много предустановленных программ.
Arch Linux 🟩
Плюсы:
🔧 Кастомизация: Полный контроль над системой.
♻️ Rolling release: Постоянные обновления.
📚 Arch Wiki: Обширная документация.
Минусы:
🚧 Сложность установки: Требуются технические знания.
⏲️ Время на настройку: Может занять много времени, в среднем может уйти реальных 48 часов...
Какую выбрать? 🤔
Если будет интересна эта тема могу подробнее пояснить про дистрибутивы, недавно вот заинтересовал VoidLinux
❤🔥3👍2❤1🔥1
🚀 Три самых современных способа создания интерфейсов на Python
PyQt и PySide — мощные обертки для библиотеки Qt.
Преимущества:
Богатые возможности (виджеты, анимации, мультимедиа)
Кросс-платформенность (Windows, macOS, Linux)
Визуальный дизайнер (Qt Designer)
Kivy — фреймворк для мультитач приложений и натурального пользовательского интерфейса.
Преимущества:
Кросс-платформенность (Windows, macOS, Linux, Android, iOS)
Современный UI (жесты, анимации)
Быстрая разработка и тестирование
Dear PyGui — относительно новый фреймворк для высокопроизводительных интерфейсов, основанный на ImGui.
Преимущества:
Высокая производительность (рендеринг на GPU)
Простота использования и интеграции
Современные возможности (графики, таблицы, мультимедиа)
Каждый из этих фреймворков имеет свои особенности и возможности. Выбирайте тот, который лучше всего подходит для вашего проекта! 💻
#python #programming #PyQt #Kivy #DearPyGui #coding #development #tech
👨💻 Подписаться
PyQt и PySide — мощные обертки для библиотеки Qt.
Преимущества:
Богатые возможности (виджеты, анимации, мультимедиа)
Кросс-платформенность (Windows, macOS, Linux)
Визуальный дизайнер (Qt Designer)
from PyQt5.QtWidgets import QApplication, QLabel
app = QApplication([])
label = QLabel('Hello, World!')
label.show()
app.exec_()
Kivy — фреймворк для мультитач приложений и натурального пользовательского интерфейса.
Преимущества:
Кросс-платформенность (Windows, macOS, Linux, Android, iOS)
Современный UI (жесты, анимации)
Быстрая разработка и тестирование
from kivy.app import App
from kivy.uix.label import Label
class MyApp(App):
def build(self):
return Label(text='Hello, World!')
if __name__ == '__main__':
MyApp().run()
Dear PyGui — относительно новый фреймворк для высокопроизводительных интерфейсов, основанный на ImGui.
Преимущества:
Высокая производительность (рендеринг на GPU)
Простота использования и интеграции
Современные возможности (графики, таблицы, мультимедиа)
import dearpygui.dearpygui as dpg
dpg.create_context()
with dpg.window(label="Example Window"):
dpg.add_text("Hello, world!")
dpg.add_button(label="Press Me")
dpg.create_viewport(title='Custom Title', width=600, height=400)
dpg.setup_dearpygui()
dpg.show_viewport()
dpg.start_dearpygui()
dpg.destroy_context()
Каждый из этих фреймворков имеет свои особенности и возможности. Выбирайте тот, который лучше всего подходит для вашего проекта! 💻
#python #programming #PyQt #Kivy #DearPyGui #coding #development #tech
👨💻 Подписаться
❤3👍1🥰1
Какой контент хотелось бы видеть больше?
Anonymous Poll
33%
Скрипты которые мы можем вставить в свои проекты
17%
Обзор софта для кодинга
100%
Мемы🤓
33%
Лайв из жизни кодера
🔥3❤1👍1
Сегодня день трудоголика, по моим постам видно, как я тружусь над каналом! Поддержите лайком!
🔥3❤🔥1
🔧 Генератор текстов 🔧
Сегодня делюсь интересным Python-скриптом, который поможет генерировать сомнительный текст из 10 предложений на любую тему и завершать текст мудрой цитатой из книг Виктора Пелевина. Так сказать прародитель этих ваших нейросетей.
Вот как это работает:
Введите любое слово – и программа построит вокруг него 10 предложений.
Предложения всегда используют слово в именительном падеже, что делает текст более связным и логичным.
В конце текста добавляется случайная цитата из книг Виктора Пелевина – для глубоких размышлений и вдохновения.
🛠️ Просто запустите код, введите любое слово, и наслаждайтесь уникальным текстом с мудрой цитатой на закуску!
Попробуйте сами и делитесь своими результатами в комментариях! 📩
#python #ai #fun
Подписаться
Сегодня делюсь интересным Python-скриптом, который поможет генерировать сомнительный текст из 10 предложений на любую тему и завершать текст мудрой цитатой из книг Виктора Пелевина. Так сказать прародитель этих ваших нейросетей.
Вот как это работает:
Введите любое слово – и программа построит вокруг него 10 предложений.
Предложения всегда используют слово в именительном падеже, что делает текст более связным и логичным.
В конце текста добавляется случайная цитата из книг Виктора Пелевина – для глубоких размышлений и вдохновения.
import random
def generate_sentences(word):
phrases = [
f"{word.capitalize()} — это важная часть нашей жизни.",
f"Многие люди не задумываются о значении слова {word.lower()}.",
f"{word.capitalize()} оказывает значительное влияние на нашу повседневную жизнь.",
f"Изучение {word.lower()} может привести к неожиданным открытиям.",
f"Интерес к {word.lower()} растет с каждым годом.",
f"Каждый человек понимает {word.lower()} по-своему.",
f"Современные исследования показывают, что {word.lower()} имеет множество применений.",
f"{word.capitalize()} было важным понятием на протяжении всей истории.",
f"Существует множество теорий о происхождении {word.lower()}.",
f"Обсуждение {word.lower()} часто вызывает оживленные дискуссии.",
f"Невозможно представить себе мир без {word.lower()}.",
f"В последнее время {word.lower()} стало предметом многочисленных обсуждений.",
f"Существует множество подходов к изучению {word.lower()}.",
f"Значение слова {word.lower()} трудно переоценить.",
f"Научный прогресс значительно изменил наше понимание {word.lower()}.",
f"В разных культурах {word.lower()} имеет разные значения.",
f"Понимание {word.lower()} помогает нам лучше осознать окружающий мир.",
f"История {word.lower()} насчитывает многие века.",
f"Множество факторов влияет на восприятие {word.lower()}.",
f"Исследования показывают, что {word.lower()} связано с множеством других понятий."
]
quotes = [
"Все иллюзии рассыпаются на глазах, стоит только тронуть их пальцем.",
"В нашем мире есть только два источника власти: слово и пуля.",
"Когда человек долго смотрит в бездну, бездна начинает смотреть в него.",
"Свобода — это осознание необходимости.",
"Каждый видит то, что хочет видеть, или то, что ему велено видеть.",
"Никто не знает, что такое счастье, но все понимают, что это не просто так.",
"Мы все живем в мире своих иллюзий, пока не столкнемся с реальностью.",
"Смысл жизни не в счастье, а в стремлении к нему.",
"Человек — это то, во что он верит.",
"Только иллюзии делают жизнь выносимой."
]
sentences = random.sample(phrases, 10)
quote = random.choice(quotes)
for sentence in sentences:
print(sentence)
print("\nЦитата Виктора Пелевина:")
print(quote)
# Получение слова от пользователя
word = input("Введите слово: ")
generate_sentences(word)
🛠️ Просто запустите код, введите любое слово, и наслаждайтесь уникальным текстом с мудрой цитатой на закуску!
Попробуйте сами и делитесь своими результатами в комментариях! 📩
#python #ai #fun
Подписаться
👏3🤣2🤔1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4🔥1😁1
Автоматизация рутинных задач с помощью Python
В мире, где каждую минуту на счету, автоматизация рутинных задач становится не просто удобством, а необходимостью. Python, благодаря своей простоте и мощи, является идеальным инструментом для автоматизации множества повседневных задач.
Переименование файлов 📁
Ситуация: у вас есть множество файлов с именами, которые не соответствуют желаемому формату. Вы хотите их переименовать, не тратя на это много времени.
Переименуйте файлы в папке 'путь_к_вашей_папке', добавив префикс 'новый_префикс'
rename_files('путь_к_вашей_папке', 'новый_префикс')
Отправка email-уведомлений 📧
Ситуация: необходимо автоматически отправлять уведомления по электронной почте, например, напоминания.
Отправьте письмо с 'ваш_емейл@gmail.com' на 'получатель@gmail.com' с указанной темой и текстом
send_email('ваш_емейл@gmail.com', 'получатель@gmail.com', 'Тема письма', 'Текст письма', 'smtp.gmail.com', 587, 'ваш_емейл@gmail.com', 'ваш_пароль')
Сбор данных с веб-сайтов 🌐
Ситуация: вам нужно собирать данные с веб-страниц, например, последние новости или цены на товары.
Соберите заголовки новостей с указанного URL
scrape_website('https://news.ycombinator.com/')
Заключение
Автоматизация с помощью Python не только экономит ваше время, но и повышает вашу продуктивность. Эти простые примеры показывают, как легко можно автоматизировать переименование файлов, отправку email-уведомлений и сбор данных с веб-сайтов.
Подписаться
#Автоматизация #Python #Программирование #Скрипты #ОтправкаEmail #ВебСкрапинг #Советы 🚀
В мире, где каждую минуту на счету, автоматизация рутинных задач становится не просто удобством, а необходимостью. Python, благодаря своей простоте и мощи, является идеальным инструментом для автоматизации множества повседневных задач.
Переименование файлов 📁
Ситуация: у вас есть множество файлов с именами, которые не соответствуют желаемому формату. Вы хотите их переименовать, не тратя на это много времени.
python
import os
def rename_files(directory, prefix):
for count, filename in enumerate(os.listdir(directory)):
new_name = f"{prefix}_{count + 1}{os.path.splitext(filename)[1]}"
os.rename(os.path.join(directory, filename), os.path.join(directory, new_name))
print("Файлы успешно переименованы!")
Переименуйте файлы в папке 'путь_к_вашей_папке', добавив префикс 'новый_префикс'
rename_files('путь_к_вашей_папке', 'новый_префикс')
Отправка email-уведомлений 📧
Ситуация: необходимо автоматически отправлять уведомления по электронной почте, например, напоминания.
python
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
def send_email(sender_email, receiver_email, subject, body, smtp_server, smtp_port, login, password):
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = receiver_email
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain'))
with smtplib.SMTP(smtp_server, smtp_port) as server:
server.starttls()
server.login(login, password)
server.sendmail(sender_email, receiver_email, msg.as_string())
print("Письмо успешно отправлено!")
Отправьте письмо с 'ваш_емейл@gmail.com' на 'получатель@gmail.com' с указанной темой и текстом
send_email('ваш_емейл@gmail.com', 'получатель@gmail.com', 'Тема письма', 'Текст письма', 'smtp.gmail.com', 587, 'ваш_емейл@gmail.com', 'ваш_пароль')
Сбор данных с веб-сайтов 🌐
Ситуация: вам нужно собирать данные с веб-страниц, например, последние новости или цены на товары.
python
import requests
from bs4 import BeautifulSoup
def scrape_website(url):
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
# Предположим, мы собираем заголовки новостей
headlines = soup.find_all('h2', class_='news-title')
for idx, headline in enumerate(headlines):
print(f"{idx + 1}. {headline.text.strip()}")
Соберите заголовки новостей с указанного URL
scrape_website('https://news.ycombinator.com/')
Заключение
Автоматизация с помощью Python не только экономит ваше время, но и повышает вашу продуктивность. Эти простые примеры показывают, как легко можно автоматизировать переименование файлов, отправку email-уведомлений и сбор данных с веб-сайтов.
Подписаться
#Автоматизация #Python #Программирование #Скрипты #ОтправкаEmail #ВебСкрапинг #Советы 🚀
👍2🔥1👏1
Мониторинг системных ресурсов своими руками 🖥
Существует тонна подобных плагинов, почему бы не сделать его самому. Мониторинг системных ресурсов, таких как процессор, память и дисковое пространство, важен для поддержания стабильной работы компьютера или сервера. 📊🔧
Шаг 1: Установка библиотек 📦
Шаг 2: Код для мониторинга 📝
Создайте файл
Шаг 3: Запуск мониторинга 🚀
Скрипт будет каждые 5 секунд отображать текущую загрузку процессора, памяти и дискового пространства. 📊🖥
С помощью этого простого скрипта на Python вы можете отслеживать системные ресурсы вашего компьютера или сервера. Попробуйте сами и убедитесь, как легко это сделать! 🔧
#Мониторинг #Python #СистемныеРесурсы #Программирование #Автоматизация #Кодирование #Технологии #IT
Существует тонна подобных плагинов, почему бы не сделать его самому. Мониторинг системных ресурсов, таких как процессор, память и дисковое пространство, важен для поддержания стабильной работы компьютера или сервера. 📊🔧
Шаг 1: Установка библиотек 📦
pip install psutil
Шаг 2: Код для мониторинга 📝
Создайте файл
monitor.py и добавьте следующий код:import psutil
import time
def get_cpu_usage():
return psutil.cpu_percent(interval=1)
def get_memory_usage():
memory_info = psutil.virtual_memory()
return memory_info.percent
def get_disk_usage():
disk_info = psutil.disk_usage('/')
return disk_info.percent
def monitor_system():
while True:
cpu = get_cpu_usage()
memory = get_memory_usage()
disk = get_disk_usage()
print(f"CPU Usage: {cpu}%")
print(f"Memory Usage: {memory}%")
print(f"Disk Usage: {disk}%")
print("-" * 20)
time.sleep(5)
if __name__ == "__main__":
monitor_system()
Шаг 3: Запуск мониторинга 🚀
python monitor.py
Скрипт будет каждые 5 секунд отображать текущую загрузку процессора, памяти и дискового пространства. 📊🖥
С помощью этого простого скрипта на Python вы можете отслеживать системные ресурсы вашего компьютера или сервера. Попробуйте сами и убедитесь, как легко это сделать! 🔧
#Мониторинг #Python #СистемныеРесурсы #Программирование #Автоматизация #Кодирование #Технологии #IT
👍2🔥1😱1
У меня готов пост про генераторы паролей с примером кода такого приложения, в общем пост большой получился и у меня вопрос, а нужны ли вообще в постах такие коды? Может файл или ссылку на гит прикладывать?
👍3
Менеджеры паролей на Python 🔒
В современном мире, где данные и учетные записи играют огромную роль, все говорят о важности использования менеджеров паролей для безопасности. Они обещают защитить ваши пароли и сделать их использование удобным. Давайте вместе рассмотрим структуру такого приложения на простом примере и поймем, как оно работает. Принцип работы таких сервисов простой как две коппейки. Менеджеры паролей генерируют и сохраняют сложные пароли для различных сервисов, используя шифрование для защиты данных.
Рассмотрим принцип работы на примере простейшей консольной программы, реальные такие приложения просто используют красивую мордочку👩💻
👩💻 Сам код наглядно в HUBе: password_manager.py
👩💻 Ссылка на файл: password_manager.py
Основные принципы таких приложений заключаются в подобных функциях:
- Генерация ключа и его сохранение: функция
- Загрузка ключа: функция
- Генерация пароля: функция
- Шифрование и дешифрование: функции
Сейчас нет никакой необходимости брутфорсить пароли, теперь подбирают ключи шифрования🕷️
А теперь вы уверены в надежности таких сервисов? 🤔
Подписаться
#pyscripts | #passwordmanager
В современном мире, где данные и учетные записи играют огромную роль, все говорят о важности использования менеджеров паролей для безопасности. Они обещают защитить ваши пароли и сделать их использование удобным. Давайте вместе рассмотрим структуру такого приложения на простом примере и поймем, как оно работает. Принцип работы таких сервисов простой как две коппейки. Менеджеры паролей генерируют и сохраняют сложные пароли для различных сервисов, используя шифрование для защиты данных.
Рассмотрим принцип работы на примере простейшей консольной программы, реальные такие приложения просто используют красивую мордочку
Основные принципы таких приложений заключаются в подобных функциях:
- Генерация ключа и его сохранение: функция
generate_key() создает новый ключ шифрования и сохраняет его в файл secret.key.- Загрузка ключа: функция
load_key() загружает ключ из файла secret.key.- Генерация пароля: функция
generate_password() создает случайный пароль заданной длины, используя буквы, цифры и специальные символы.- Шифрование и дешифрование: функции
encrypt_message() и decrypt_message() используются для шифрования и дешифрования паролей с использованием ключа шифрования.Сейчас нет никакой необходимости брутфорсить пароли, теперь подбирают ключи шифрования
А теперь вы уверены в надежности таких сервисов? 🤔
Подписаться
#pyscripts | #passwordmanager
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2❤1🔥1
Разбираемся как работают блокировщики рекламы ⚡
Реклама заполняет интернет-пространство, замедляет загрузку страниц и отвлекает от важного и в целом бесит. Сколько себя помню в инете, юзаю adblock, но как насчет того, чтобы поковырять код такого приложения изнутри? Напишем свой собственный блокировщик рекламы на Python👩💻
Принцип работы достаточно простой. Блокировщик рекламы сканирует веб-страницы и удаляет элементы, которые идентифицируются как реклама. Это может быть достигнуто с использованием библиотек для веб-скрапинга и манипуляции DOM (Document Object Model).
Самый простейший блокировщик будет выглядеть так:
Так что тут происходит?👩💻
- Импорт библиотек: используем
- Функция
- Функция
- Основной блок: Запрашивает URL страницы, очищает её от рекламы и сохраняет результат в файл clean_page.html.
Ну что, теперь сможем убрать рекламу с тырнета? ✋
Заметочки все тут 📂
#pyscripts | #adblock
Реклама заполняет интернет-пространство, замедляет загрузку страниц и отвлекает от важного и в целом бесит. Сколько себя помню в инете, юзаю adblock, но как насчет того, чтобы поковырять код такого приложения изнутри? Напишем свой собственный блокировщик рекламы на Python
Принцип работы достаточно простой. Блокировщик рекламы сканирует веб-страницы и удаляет элементы, которые идентифицируются как реклама. Это может быть достигнуто с использованием библиотек для веб-скрапинга и манипуляции DOM (Document Object Model).
Самый простейший блокировщик будет выглядеть так:
import requests
from bs4 import BeautifulSoup
def is_ad(tag):
"""Определяем, является ли тег рекламным баннером"""
ad_keywords = ['ad', 'advertisement', 'banner', 'sponsored']
for keyword in ad_keywords:
if keyword in tag.get('class', []) or keyword in tag.get('id', ''):
return True
return False
def remove_ads(url):
"""Удаляем рекламные баннеры с указанного URL"""
response = requests.get(url)
soup = BeautifulSoup(response.content, 'html.parser')
ads = soup.find_all(is_ad)
for ad in ads:
ad.decompose()
return soup
if __name__ == "__main__":
url = input("Введите URL страницы для блокировки рекламы: ")
clean_page = remove_ads(url)
with open('clean_page.html', 'w', encoding='utf-8') as file:
file.write(str(clean_page))
print("Страница без рекламы сохранена как 'clean_page.html'")
Так что тут происходит?
- Импорт библиотек: используем
requests для получения содержимого страницы и BeautifulSoup из библиотеки bs4 для анализа HTML.- Функция
is_ad: Определяет, является ли HTML-тег рекламным баннером, проверяя его классы и идентификаторы на наличие ключевых слов, связанных с рекламой.- Функция
remove_ads: Загружает веб-страницу и анализирует её содержимое, находит все элементы, определенные как рекламные, и удаляет их.- Основной блок: Запрашивает URL страницы, очищает её от рекламы и сохраняет результат в файл clean_page.html.
Ну что, теперь сможем убрать рекламу с тырнета? ✋
Заметочки все тут 📂
#pyscripts | #adblock
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1👏1
История про то как я нашел свой линукс 🦋
В общем всем понятно, что дистрибутивов ну оооочень много и с ноги залететь в линукс задача не из простых. Тем не менее начинал я свой путь с ютуба, как писал один из комментаторов:
Короче я начала свой путь в мире линуксов с Ubuntu👩💻 , как и многие другие. Она удобна для новичков, но со временем я понял, что мне нужно что-то более гибкое. Так я решил попробовать Arch 👩💻 . Я никогда так не ошибался... С ним можно настроить систему полностью под свои нужды, но на это уходит слишком много времени. В какой-то момент я тупо устал это настраивать со страхом поломать систему. А репозиторий хоть и наполнен пакетами последних версий, но там полный unstable. Считайте, что вы бетатестер.
В общем ковыряясь в этом всем я просто пришел в Fedora👩💻 . Она всегда включает самые свежие версии программ и библиотек, но проверенные, а не как на арче. Это особенно важно для разработчиков, которые хотят работать с новейшими инструментами. Несмотря на новизну ПО, Fedora остается стабильной. Она проходит тщательное тестирование, что снижает риск неожиданных проблем. Гном тоже прекрасно работает и, можно сказать, вполне симпатичный.
Выбор дистрибутива — дело личное, и каждый найдет что-то свое. Для меня Fedora стала идеальным балансом между новым софтом, стабильностью и удобством. Если вы в поисках нового рабочего окружения для разработки, рекомендую попробовать Fedora — возможно, это именно то, что вам нужно!
А какой дистрибутив используете вы? Делитесь своим опытом в комментариях!👩💻
#linux | #fedora
В общем всем понятно, что дистрибутивов ну оооочень много и с ноги залететь в линукс задача не из простых. Тем не менее начинал я свой путь с ютуба, как писал один из комментаторов:
Предпочитаю окунаться в линукс издалека
Короче я начала свой путь в мире линуксов с Ubuntu
В общем ковыряясь в этом всем я просто пришел в Fedora
Выбор дистрибутива — дело личное, и каждый найдет что-то свое. Для меня Fedora стала идеальным балансом между новым софтом, стабильностью и удобством. Если вы в поисках нового рабочего окружения для разработки, рекомендую попробовать Fedora — возможно, это именно то, что вам нужно!
А какой дистрибутив используете вы? Делитесь своим опытом в комментариях!
#linux | #fedora
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3❤1👏1
Какой контент более интересный?
Anonymous Poll
40%
Структура и код реальных приложений, которыми мы пользуемся каждый день
40%
Простые, но эффективные алгоритмы, которые мб пригодятся
20%
244 строки бинарного файла с геометрией 12 квадратов
👍1😁1