Найти в Дзене

10 простых и полезных скриптов на Python для автоматизации

Оглавление

Python – это язык, который славится своей простотой и универсальностью, что делает его идеальным для автоматизации различных задач. В этой статье я расскажу о 10 полезных скриптах на Python, которые помогут вам сэкономить время и повысить продуктивность.

Сгенерировано ИИ
Сгенерировано ИИ

1. Отправка Email

Автоматизация отправки писем пригодится для регулярных отчетов, уведомлений или оповещений. Используя библиотеку smtplib, вы можете настроить автоматическую отправку писем.

-2
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def send_email(subject, body, to_email):
sender_email = "your_email@gmail.com" # Укажите свой email
sender_password = "your_password" # Укажите пароль от почты

# Создаем объект сообщения и заполняем его данные
msg = MIMEMultipart()
msg['From'] = sender_email
msg['To'] = to_email
msg['Subject'] = subject
msg.attach(MIMEText(body, 'plain')) # Добавляем текст письма

try:
# Настраиваем соединение с сервером SMTP
server = smtplib.SMTP('smtp.gmail.com', 587)
server.starttls() # Начинаем защищенное соединение
server.login(sender_email, sender_password) # Вход в аккаунт
server.sendmail(sender_email, to_email, msg.as_string()) # Отправляем письмо
server.quit() # Закрываем соединение
print("Письмо успешно отправлено!")
except Exception as e:
print(f"Ошибка при отправке письма: {e}") # Обрабатываем возможные ошибки

send_email("Тестовое письмо для
rutechspot", "Это письмо отправлено автоматически!", "recipient_email@gmail.com")

2. Веб-скрапинг с BeautifulSoup

Если вам нужно извлекать данные с веб-сайтов, библиотека BeautifulSoup сделает этот процесс простым и удобным.

-3
import requests
from bs4 import BeautifulSoup

def scrape_website(url):
# Отправляем GET-запрос на сайт
response = requests.get(url)

# Создаем объект BeautifulSoup для парсинга HTML
soup = BeautifulSoup(response.content, 'html.parser')

# Извлекаем все ссылки (теги <a>) на странице
links = soup.find_all('a')
for link in links:
print(link.get('href')) # Выводим ссылку

scrape_website('
https://dzen.ru/rutechspot') # Вставьте нужный сайт

3. Организация файлов

Этот скрипт поможет вам автоматически сортировать файлы по типам, перенося их в соответствующие папки.

-4

import os
import shutil

def organize_files(directory):
# Проходим по всем файлам в указанной директории
for filename in os.listdir(directory):
# Получаем расширение файла
file_ext = filename.split('.')[-1]
# Создаем папку для файлов данного типа (если она еще не существует)
folder_path = os.path.join(directory, file_ext.upper())
if not os.path.exists(folder_path):
os.makedirs(folder_path)
# Перемещаем файл в соответствующую папку
shutil.move(os.path.join(directory, filename), os.path.join(folder_path, filename))

organize_files('/path/to/dzen/rutechspot') # Укажите путь к папке, которую хотите организовать

4. Резервное копирование

Регулярное резервное копирование важно для безопасности данных. Этот скрипт автоматически копирует файлы в заданную папку.

-5

import shutil
import os

def backup_files(source_folder, backup_folder):
# Создаем папку для резервных копий, если она не существует
if not os.path.exists(backup_folder):
os.makedirs(backup_folder)

# Копируем все файлы из исходной папки в папку резервных копий
for filename in os.listdir(source_folder):
file_path = os.path.join(source_folder, filename)
if os.path.isfile(file_path): # Проверяем, что это файл, а не папка
shutil.copy(file_path, backup_folder)

backup_files('/path/to/rutechspot', '/path/to/backup_
rutechspot') # Задайте исходную и резервную папки

5. Автоматизация твитов

С помощью библиотеки tweepy вы можете автоматически отправлять твиты или взаимодействовать с подписчиками. Я думал, что твиттер, т.е. X в текущих реалиях не очень актуален, но нет, многие из моих знакомых им пользуются, поэтому пусть будет и этот пункт.

-6

import tweepy

def tweet(message):
# Настраиваем доступ к API Twitter
auth = tweepy.OAuthHandler("API_KEY", "API_SECRET_KEY")
auth.set_access_token("ACCESS_TOKEN", "ACCESS_TOKEN_SECRET")

# Создаем объект API и публикуем твит
api = tweepy.API(auth)
api.update_status(status=message)
print("Твит отправлен!")

tweet("Привет! На связи ruTechSpot!") # Ваш текст твита

6. Извлечение текста из PDF

Скрипт для автоматического извлечения текста из PDF документов, что полезно для обработки отчетов и контрактов.

-7

import PyPDF2

def extract_text_from_pdf(pdf_path):
# Открываем PDF файл для чтения
pdf_file = open(pdf_path, 'rb')

# Создаем объект PDF Reader
reader = PyPDF2.PdfFileReader(pdf_file)
text = ''

# Извлекаем текст из каждой страницы PDF
for page_num in range(reader.numPages):
page = reader.getPage(page_num)
text += page.extract_text() # Извлекаем текст

pdf_file.close() # Закрываем файл
return text

print(extract_text_from_pdf('rutechspot.pdf')) # Задайте путь к вашему PDF файлу

7. Автоматизация браузера

С помощью Selenium можно автоматизировать заполнение форм, нажатие кнопок и навигацию по веб-страницам.

-8

from selenium import webdriver

def automate_browser(url):
# Запускаем браузер (нужно установить chromedriver)
driver = webdriver.Chrome(executable_path='/path/to/chromedriver')

# Открываем указанный URL
driver.get(url)

# Пример взаимодействия с элементами на странице (поиск по имени элемента)
search_bar = driver.find_element_by_name('q')
search_bar.send_keys('Python automation') # Вводим текст в поисковую строку
search_bar.submit() # Отправляем форму

automate_browser('
https://dzen.ru/rutechspot') # Укажите нужный URL

8. Автоматизация отчетов Excel

Используя openpyxl, вы можете создавать и изменять Excel файлы автоматически, что особенно полезно для генерации отчетов.

-9

import openpyxl

def create_excel_report():
# Создаем новый файл Excel
workbook = openpyxl.Workbook()
sheet = workbook.active # Получаем активный лист

# Заполняем таблицу данными
sheet['A1'] = 'Статья'
sheet['B1'] = 'Статус'
sheet.append(['Статья 1', 'Написана'])
sheet.append(['
Статья 2', 'В процессе'])

# Сохраняем отчет в файл
workbook.save('rutechspot.xlsx')

create_excel_report() # Скрипт создает Excel файл с отчетом

9. Запросы к API

Автоматизация взаимодействия с API полезна для получения данных о погоде, курсах валют и многом другом.

-10

import requests

def get_weather_data(city):
# Формируем URL для запроса к API погоды
api_key = 'your_api_key'
base_url = f"http://api.openweathermap.org/data/2.5/weather?q={city}&appid={api_key}"

# Отправляем запрос к API и получаем данные в формате JSON
response = requests.get(base_url)
data = response.json()

# Проверяем, был ли запрос успешным
if data['cod'] == 200:
weather = data['weather'][0]['description']
temp = data['main']['temp']
print(f"Погода в {city}: {weather}, Температура: {temp}K, погода шепчет почитать статью на dzen.ru/rutechspot")
else:
print(f"Город {city} не найден!")

get_weather_data

10. Обработка изображений

С помощью Pillow можно автоматизировать такие задачи, как изменение размера и добавление водяных знаков на изображения.

-11

from PIL import Image

def resize_image(image_path, output_path, size):
# Открываем изображение
image = Image.open(image_path)

# Изменяем размер изображения
resized_image = image.resize(size)

# Сохраняем измененное изображение
resized_image.save(output_path)
print(f"Изображение сохранено в {output_path}")

resize_image('input_rutechspot.jpg', 'output_
rutechspot.jpg', (800, 600)) # Задайте путь к изображению

Заключение

Эти скрипты покажут вам, как Python может упростить рутинные задачи, от сортировки файлов до взаимодействия с браузером. Попробуйте их в работе и настройте под свои нужды. Автоматизация – это ваш путь к большей эффективности!

А какие задачи вы хотите автоматизировать с помощью Python? Поделитесь в комментариях и не забудьте подписаться на наш блог, чтобы не пропустить новые полезные статьи!