如何使用ChatGPT来自动化Python任务

时间:2022-12-25 18:06:24

最近,比较火热的ChatGPT很受欢迎。今天,笔者为大家来介绍一下ChatGPT能做哪些事情。

2.内容

ChatGPT是一款由OpenAI开发的专门从事对话的AI聊天机器人。它的目标是让AI系统更加自然的与之交互,但它也可以在我们编写代码的时候提供一些帮助。

2.1 使用ChatGPT来绘制线性回归

如果你想绘制线性回归,你可以简单的告诉ChatGPT:使用 matplotlib 用 Python 绘制线性回归

接下来,ChatGPT对话框内就会给你听绘制线性回归的步骤和实现代码,如下如所示:

如何使用ChatGPT来自动化Python任务

 如何使用ChatGPT来自动化Python任务

 我们使用这段代码,来执行看看最终的结果,代码如下:

import matplotlib.pyplot as plt
import numpy as np

# 准备数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([1, 2, 1.5, 3, 2.5])

# 绘制散点图
plt.scatter(x, y)

# 计算线性回归模型
slope, intercept = np.polyfit(x, y, 1)

# 绘制线性回归直线
plt.plot(x, slope * x + intercept, color='r')

# 添加 x 轴、y 轴和图标题
plt.xlabel('X')
plt.ylabel('Y')
plt.title('Linear Regression')

# 显示图像
plt.show()

执行结果如下所示:

如何使用ChatGPT来自动化Python任务

 这里需要注意是,如果执行代码出现如下错误:

Non-ASCII character '\xe5'

可以在代码开头里面添加如下代码:

# -*- coding: UTF-8 -*-

这个任务是比较简单的,接下来我们来提升一下难度。

2.2 使用Python给微信发信息

然后,我们在ChatGPT对话框中输入:使用Python给微信发信息

ChatGPT给出解决方案如下图所示:

如何使用ChatGPT来自动化Python任务

如何使用ChatGPT来自动化Python任务

 

 2.3 使用Python发送电子邮件

我们使用搜索引擎寻找相关发送邮件的代码片段,搜索出来的结果可能会有很多代码片段展示如何使用Python发送电子邮件。我们可以使用ChatGPT来更具体一些,比如我们输入:从“email_1”发送一封电子邮件到“email_2”,主题为“ChatGPT 发送的电子邮件”,内容为“ChatGPT Test Email!” 使用 Python

然后,ChatGPT给出的解决方案如下图所示:

如何使用ChatGPT来自动化Python任务

 

 如何使用ChatGPT来自动化Python任务

 

 实现代码如下所示:

import smtplib

# 创建 SMTP 客户端对象
smtp_client = smtplib.SMTP('smtp.example.com')

# 连接到邮件服务器
smtp_client.login('email_1', 'password')

# 发送电子邮件
smtp_client.sendmail(
    'email_1',
    'email_2',
    'Subject: ChatGPT Send Email\n\nChatGPT Test Email!'
)

# 关闭客户端
smtp_client.quit()

2.4 使用Python开发一个爬虫程序

使用ChatGPT最有难度的应该就是抓取网站信息,因为网站具有不同的HTML,因此抓取网站的步骤因站点而异。这里我们抓取Scrape上的商品名称和价格,在ChatGPT输入关键字:Python抓取https://books.toscrape.com/商品名称和价格

ChatGPT给出的解决方案如下所示:

如何使用ChatGPT来自动化Python任务

 

 如何使用ChatGPT来自动化Python任务

 

 实现代码如下所示:

import requests
from bs4 import BeautifulSoup

# 发送 HTTP 请求并获取网页内容
response = requests.get('https://books.toscrape.com/')
html = response.text

# 使用 BeautifulSoup 解析 HTML
soup = BeautifulSoup(html, 'html.parser')

# 提取商品名称和价格信息
items = soup.find_all('h3')
prices = soup.find_all('p', class_='price_color')

# 遍历商品信息,打印商品名称和价格
for item, price in zip(items, prices):
    print(item.text, price.text)

执行上述Python代码,抓取结果如下所示:

如何使用ChatGPT来自动化Python任务

 

 无需编写代码,即可通过ChatGPT生成来获取数据。

3.总结

ChatGPT是基于GPT-3模型的衍生品,因为这一点ChatGPT也被称为GPT-3.5。ChatGPT背后的训练除了常规的万亿级语料支持之前,还依赖了更为强大的算力。这也使得ChatGPT可以在不断积累数据的同时,通过不断的强化训练,让自己变得更加智能。另外,ChatGPT和其他搜索引擎就相同的问题进行检索,通过对比发现ChatGPT往往可以给出用户最想要的答案,并且呈现的方式也非常的直接,如ChatGPT可以根据用户编程的需求直接生成代码,同时也可以帮助用户检索已有代码存在的错误。而面对同样的问题其他搜索引擎却只能给用户提供一堆网页链接,需要用户花费更多的时间来筛选出自己想要的答案。从时间成本和效率上ChatGPT无疑比现有的一些搜索引擎更有优势。