Сборник мини-проектов, которые автоматизируют ваши задачи
Автоматизируйте свои задачи, создав мини-проекты автоматизации, которые ставят повторяющиеся задачи и работают на автопилоте. В этой статье я покажу вам 10 мини-проектов автоматизации Python с кодом. Так что отметьте эту статью и давайте начнем.
Эпоха автоматизации станет эпохой «сделай сам».
— Маршалл Маклюэн
👉Отправитель электронной почты
Электронная почта всегда была лучшим способом маркетинга и профессионального общения. Теперь вы можете программно отправлять электронные письма с помощью Python. В этом замечательном мини-проекте используется модуль Yagmail, который покажет вам, как отправить электронное письмо на любой почтовый сервер.
# Send Email with Python # pip install yagmail from yagmail import SMTP def Email_Sender(subject, body): mail = SMTP(user='username', password='password') mail.send("[email protected]", subject = subject, contents = body) mail.close() print("Email Sent") def Email_With_Attachment(subject, attachment): mail = SMTP(user='username', password='password') mail.send("[email protected]", subject = subject, attachments = attachment) print("Email Sent") # main Email_Sender("Subject101", "Hello from Medium") Email_With_Attachment("Subject102", ["img1.png", "img2.png"])
👉 PDF в аудиокнигу
Вам нужно преобразовать ваш PDF-файл в аудиокнигу, тогда вот мини-проект, который использует преобразование текста в речь Google API и модуль PyPDF4 для преобразования всех страниц вашего PDF-файла в аудиокнигу. аудиокнига.
# PDF to Audiobook # pip install PyPDF4 # pip install gTTS from PyPDF4 import PdfFileReader from gtts import gTTS def Pdf_to_Audio(file_name): pdf = PdfFileReader(file_name) for page in range(pdf.getNumPages()): text = pdf.getPage(page).extractText() tts = gTTS(text=text, lang='en') tts.save(f"{page}.mp3") Pdf_to_Audio("book.pdf")
👉 Погодное приложение
Этот мини-проект автоматизирует вашу задачу Прогнозирование погоды. Вы можете получить информацию о погоде, такую как температура, влажность и т. д., используя приведенный ниже код проекта. Изучите API, чтобы улучшить свой проект или добавить новые функции.
# Weather App # Get Your Free API : http://openweathermap.org/appid # pip install requests import requests as req from bs4 import BeautifulSoup as bs def get_weather(loc): # Set API key = "Api key" api_url = f"http://api.openweathermap.org/data/2.5/weather?" params = f"q={loc}&appid={key}" # Get the response from the API url = api_url + params response = req.get(url) weather = response.json() # Fetch Weather print(f"Weather for {loc}:") temp = weather['main']['temp'] print("Temperature:", temp - 273.15, "Celsius") humidity = weather['main']['humidity'] print("Humidity:", humidity, "%") wind = weather['wind']['speed'] print("Wind speed:", wind, "m/s") # main get_weather('London')
👉 Загрузчик с ютуба
Создайте свой собственный загрузчик YouTube с помощью модуля Pytube. Ниже вы можете найти коды мини-проектов, которые загружают видео с URL-адресов YouTube в любом формате.
# Proofreading Tool # pip install pytube from pytube import YouTube import os def downloader(url): yt_vid = YouTube(url).streams.filter(progressive=True) yt_vid.order_by('resolution').desc().first().download() print("video downloaded") downloader("youtube.com/watch?v=id")
👉 Ввод данных в Excel
Ввод данных всегда является дорогостоящей работой, но теперь вы можете автоматизировать ввод данных в Excel с помощью этого мини-проекта ниже. Он использует модуль Openpyxl, который позволяет писать и форматировать файл Excel с помощью нескольких строк кода.
# Excel Data Entry # pip install openpyxl from openpyxl import Workbook from openpyxl.styles import * # Set up workbook book = Workbook("excel.xlsx") pyexcel = book.active # Set up header pyexcel.append(["Name", "Job Desc", "Salary"]) # Write by rows pyexcel.append(["John", "JS Programmer", "$100,000"]) pyexcel.append(["Jane", "Py Programmer", "$150,000"]) # Write by columns pyexcel["A1"] = "John" pyexcel["B1"] = "JS Programmer" pyexcel["C1"] = "$100,000" # Write by cell pyexcel.cell(row=1, column=1).value = "John" pyexcel.cell(row=1, column=2).value = "JS Programmer" # Format cell pyexcel.cell(row=1, column=1).font = Font(bold=True) # save workbook book.save("excel.xlsx")
👉 Вычитка Python
Хотите избавиться от грамматических и орфографических ошибок в тексте? Тогда попробуйте этот мини-проект, в котором используется модуль Lmproof. Вы можете изучить этот модуль, чтобы расширить функциональные возможности проекта.
# Python Proofreading # pip install lmproof import lmproof def proofread(text): proofread = lmproof.load("en") correction = proofread.proofread(text) print("Original: {}".format(text)) print("Correction: {}".format(correction)) proofread("Your Text")
👉 Сжимайте папки и файлы
Если у вас есть файлы и папки большого размера, используйте этот мини-проект автоматизации, чтобысжать ваши папки и файлы до меньшего размера. Этот проект основан на создании сжатия zip ваших файлов и папок.
# Compress folders and files import zipfile as zf import os # compress files def compress_files(files): with zf.ZipFile("compress", 'w') as myzip: for file in files: myzip.write(file) # compress folders def compress_folders(folders): with zf.ZipFile("compress", 'w') as myzip: for folder in folders: for root, dirs, files in os.walk(folder): for file in files: myzip.write(os.path.join(root, file)) # main compress_files(["video1.mp4", "video2.mp4"]) compress_folders(["folder1", "folder2"])
👉 Тестер скорости Интернета
Проверьте скорость своего интернет-соединения и пинг с помощью API для тестирования скорости OOKLA. Этот мини-проект по автоматизации проверит вашу скорость загрузки и выгрузки, а также рассчитает пинг.
# Internet Speed tester # pip install speedtest-cli import speedtest as st # Set Best Server server = st.Speedtest() server.get_best_server() # Test Download Speed down = server.download() down = down / 1000000 print(f"Download Speed: {down} Mb/s") # Test Upload Speed up = server.upload() up = up / 1000000 print(f"Upload Speed: {up} Mb/s") # Test Ping ping = server.results.ping print(f"Ping Speed: {ping}")
👉 Веб-блокировщик
Создайте проект веб-блокировщика на Python, используя приведенный ниже проект автоматизации. В этом проекте используется хост-файл, содержащий IP-адрес и имя хоста веб-сайта. Если вы заблокируете веб-сайт с указанным ниже проектом, веб-сайт всегда будет перенаправлять на 127.0.0.1.
# Block Websites import os import sys host = "C:\Windows\System32\drivers\etc\hosts" def block_websites(websites): with open(host, "a") as f: f.write("\n127.0.0.1 " + websites) f.close() def unblock_websites(website): with open(host, "r") as f: lines = f.readlines() f.close() with open(host, "w") as f: for line in lines: if websites not in line: f.write(line) f.close() block_websites(["www.google.com", "www.medium.com"])
👉 Автоматизируйте рабочий стол и Интернет
Этот мини-проект позволит вам автоматизировать настольные приложения и веб-сайт. В проекте используется модуль Selenium, который в основном предназначен для автоматизации веб-сайтов, и Pyautogui для автоматизации настольных приложений.
# Automate Web and Desktop # pip install selenium # pip install webdrivermanager # pip install pyautogui from selenium import webdriver from selenium.webdriver.common.keys import Keys from selenium.webdriver.common.by import By from webdriver_manager.chrome import ChromeDriverManager import pyautogui as pag # <=== Automate Web ===> google = webdriver.Chrome(ChromeDriverManager().install()) # open webpage google.get('https://www.google.com') # Search element search = google.find_element(By.NAME, 'q') search = google.find_element(By.TAG_NAME, 'input') search = google.find_element(By.ID, 'lst-ib') search = google.find_element(By.CLASS_NAME, 'gsfi') search = google.find_element(By.CSS_SELECTOR, 'input[name="q"]') search = google.find_element(By.XPATH, '//input[id="lst-ib"]') # Click on Element search.click() # Send Keys or Type search.send_keys('Hello World') search.send_keys(Keys.ENTER) # <=== Automate Desktop ===> # Mouse movement pag.moveTo(5, 5) pag.moveRel(5, 5) pag.dragTo(5, 5) # Mouse clicks pag.click(5, 5) pag.doubleClick(5, 5) pag.rightClick(5, 5) pag.scroll(5, 5, vertical=True) # Keyboard Typing pag.typewrite('Hello World', interval=0.25) pag.press('enter') pag.hotkey('ctrl', 'c')
👉 Заключительные мысли
Благодарим вас за потраченное драгоценное время на прочтение этой статьи. Я надеюсь, что вы найдете эту статью полезной и интересной для чтения. Если вам понравилась эта статья, поделитесь ❤️ ею со своими друзьями, потому что делиться — значит заботиться.
Счастливое программирование на Python
Стань участником среды, чтобы разблокировать все мои статьи и тысячи статей других авторов. Подпишитесь на членстводля носителя это всего стоит 5 долларов США, а также я получу небольшую часть, которую я использую для получения кофе.
Вы можете поддержать меня и других, став участником Medium Спасибо! 👇
Никогда не переставайте учиться. Вот ежедневная порция моих статей по программированию ниже, надеюсь, они вам тоже понравятся.
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord.