Автоматизируем задачи на Python с помощью ChatGPT

ChatGPT  —  чат-бот на базе ИИ от OpenAI, который специализируется на диалогах. Мы можем сделать ChatGPT своим помощником  —  и не только в написании кода!

Вот несколько упорядоченных по сложности задач, которые я предложил выполнить ChatGPT (и получил впечатляющие результаты).

Задача #1. Построить линейную регрессию

Чтобы построить график линейной регрессии, достаточно просто сказать ChatGPT:

plot a linear regression with Python using matplotlib (построй график линейной регрессии с помощью Python и matplotlib).

Если не указать конкретную библиотеку, ChatGPT выберет ее сам.

Вот код Python, созданный ChatGPT (с комментариями!):

import matplotlib.pyplot as plt
import numpy as np

# Сгенерировать случайные данные
x = np.random.rand(100)
y = x + np.random.normal(0, 0.1, size=100)

# Подогнать линейную регрессию под данные
m, b = np.polyfit(x, y, 1)

# Построить график данных и подобранную линию
plt.plot(x, y, 'o')
plt.plot(x, m*x + b, '-')
plt.show()

А вот результат:

Это было легко. Теперь попробуем что-нибудь посложнее.

Задача #2. Отправить сообщение на WhatsApp с помощью pywhatkit

Сможет ли ChatGPT помочь со сторонними библиотеками, такими как pywhatkit? Эта библиотека позволяет отправлять сообщения с помощью Whatsapp.

send a message on Whatsapp using Python and pywhatkit (отправь сообщение на Whatsapp с помощью Python и pywhatkit).

При выполнении этой задачи я не стал сообщать ChatGPT свой номер телефона и сообщение, которое хотел отправить (нечто подобное я сделал для задачи №3).

Вот код Python, созданный ChatGPT:

import pywhatkit

# Установите время в 24-часовом формате (ЧЧ:ММ:СС), когда нужно отправить сообщение
time = "HH:MM:SS"
# Установите номер телефона, на который хотите отправить сообщение
phone_number = "1234567890"
# Напишите сообщение, которое хотите отправить
message = "Your message goes here"
# Используйте метод sendwhatmsg для отправки сообщения в указанное время
pywhatkit.sendwhatmsg(time, phone_number, message)

В дополнение к этому коду, сгенерированному ChatGPT, у вас должна быть открыта сессия WhatsApp в браузере и установлена библиотека pywhatkit.

Задача #3. Отправить электронное письмо с помощью Python

В интернете есть множество фрагментов кода, которые показывают, как отправить электронное письмо с использованием Python. Вы можете продвинуться на шаг вперед с ChatGPT:

send an email from “email_1” to “email_2” with the subject “Email sent by ChatGPT” and the content “ChatGPT rocks!” using Python (отправь с помощью Python письмо с “email_1” на “email_2” с темой “Письмо, отправленное ChatGPT” и с содержанием “ChatGPT рулит!”).

Вот код:

import smtplib

# создайте объект SMTP
smtp_obj = smtplib.SMTP('smtp.gmail.com', 587)

# запустите TLS-шифрование
smtp_obj.starttls()

# войдите в учетную запись электронной почты
smtp_obj.login('[email protected]', 'YOUR_PASSWORD')

# создайте электронное письмо
message = "Subject: Email sent by ChatGPT\n\nChatGPT rocks!"

# отправьте письмо
smtp_obj.sendmail('[email protected]', '[email protected]', message)

# закройте SMTP-соединение
smtp_obj.quit()

После ввода кода ChatGPT предупредил о необходимости ввести пароль в поле “YOUR_PASSWORD”.

Однако в этот раз ChatGPT не сообщил о том, что для получения 16-символьного пароля в случае использования Gmail нужно включить двухэтапную верификацию.

Тем не менее ChatGPT проделал потрясающую работу. После ввода пароля я получил письмо:

Задача #4. Веб-скрейпинг с books.toscrape.com

Вероятно, самым сложным заданием, которое я дал ChatGPT, было извлечение данных с сайта. Как вы, наверное, знаете, веб-ресурсы создаются с использованием различных версий HTML, поэтому процесс веб-скрейпинга меняется в зависимости от конкретного сайта.

ChatGPT отлично справился с задачей по поиску названий книг и цен на books.toscrape.com.

web scrape https://books.toscrape.com/ using Python and beautiful soup (проведи скрейпинг https://books.toscrape.com/ с использованием Python и BeautifulSoup).

Вот код:

import requests
from bs4 import BeautifulSoup

# Выполните GET-запрос к сайту
response = requests.get("https://books.toscrape.com/")

# Проведите парсинг HTML-содержимого сайта
soup = BeautifulSoup(response.text, "html.parser")

# Извлеките нужные данные с помощью различных методов и атрибутов BeautifulSoup
titles = soup.find_all("h3")
prices = soup.find_all(class_="price_color")

# Сохраните извлеченные данные в файл или базу данных, или используйте их в других целях
with open("book_data.txt", "w") as file:
for title, price in zip(titles, prices):
file.write(f"{title.text}: {price.text}\n")

А вот извлеченные данные:

Удобно извлекать данные без самостоятельного написания кода!

Бонус: создание отчета в Excel с помощью Python

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

Я не смог придумать ничего лучшего, чем попросить ChatGPT помочь с автоматизацией отчетов в Excel следующим образом:

generate an Excel report with Python (сгенерируй отчет в Excel с помощью Python).

Вот сгенерированный код:

# Импортируйте библиотеку `openpyxl`
import openpyxl
# Создайте новую рабочую книгу Excel
workbook = openpyxl.Workbook()
# Активируйте лист в рабочей книге (который на данный момент будет единственным листом)
sheet = workbook.active
# Добавьте данные в лист
sheet["A1"] = "Product"
sheet["B1"] = "Sales"
# Добавьте еще кое-какие данные в лист
products = ["Product A", "Product B", "Product C"]
sales = [100, 200, 300]
for i in range(len(products)):
sheet.cell(row=i+2, column=1).value = products[i]
sheet.cell(row=i+2, column=2).value = sales[i]
# Сохраните рабочую книгу в отдельном файле
workbook.save("sales_report.xlsx")

А вот результат:

Как видите, я получил лишь простой шаблон, но уверен, что вам нужно лишь дать ChatGPT правильную команду, чтобы достичь впечатляющих результатов.

Читайте также:

Читайте нас в TelegramVK и Дзен


Перевод статьи Frank Andrade: Hey ChatGPT, Automate These Tasks Using Python

Предыдущая статьяРазвертывание Kubernetes с пользовательским файлом index.html в поде Nginx с ConfigMap
Следующая статьяПочему лучше использовать const, а не let в TypeScript