Python – это язык, который славится своей простотой и универсальностью, что делает его идеальным для автоматизации различных задач. В этой статье я расскажу о 10 полезных скриптах на Python, которые помогут вам сэкономить время и повысить продуктивность.
1. Отправка Email
Автоматизация отправки писем пригодится для регулярных отчетов, уведомлений или оповещений. Используя библиотеку smtplib, вы можете настроить автоматическую отправку писем.
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 сделает этот процесс простым и удобным.
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. Организация файлов
Этот скрипт поможет вам автоматически сортировать файлы по типам, перенося их в соответствующие папки.
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. Резервное копирование
Регулярное резервное копирование важно для безопасности данных. Этот скрипт автоматически копирует файлы в заданную папку.
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 в текущих реалиях не очень актуален, но нет, многие из моих знакомых им пользуются, поэтому пусть будет и этот пункт.
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 документов, что полезно для обработки отчетов и контрактов.
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 можно автоматизировать заполнение форм, нажатие кнопок и навигацию по веб-страницам.
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 файлы автоматически, что особенно полезно для генерации отчетов.
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 полезна для получения данных о погоде, курсах валют и многом другом.
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 можно автоматизировать такие задачи, как изменение размера и добавление водяных знаков на изображения.
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? Поделитесь в комментариях и не забудьте подписаться на наш блог, чтобы не пропустить новые полезные статьи!