标题: ChatGPT 搬砖记 分类: 工具 创建: 2022-12-10 13:16 修改: 链接: http://0x2531.tech/tools/202212101316.txt -------------------------------------------------------------------------------- 近来,ChatGPT 风靡全球。其卓越的代码理解和生成能力令人印象深刻。本文就是使用 ChatGPT 进行工 具开发的一次记录,大部分内容由 ChatGPT 生成。 Q:ChatGPT 是什么 A:ChatGPT 是一种基于 GPT-3 模型的语言处理技术。GPT-3 是一种自然语言生成模型,可以帮助生成 文本。它的输入是一段文本,然后根据输入的文本来生成更多的文本,就像人类一样。这个技术通常被用来创 建聊天机器人或其他与自然语言交互的应用程序。 Q:生成 Python 版的 hello,world 程序 A:这是一段简单的 Python 程序,它将打印 "Hello, world!": ========== print("Hello, world!") ========== 要运行它,你需要先安装 Python,然后打开一个终端或命令行窗口,输入 python 并回车,这样就可以进 入 Python 的交互式模式。然后,你可以输入上面的代码,并回车执行。程序执行完毕后,你就可以看到 "Hello, world!" 这句话被打印出来。 Q:使用 python 抓取网页里的 URL A: 1. 导入需要的库: import requests from bs4 import BeautifulSoup 2. 发起请求并获取网页的 HTML 源码: url = "http://www.example.com" response = requests.get(url) html = response.text 3. 使用 BeautifulSoup 解析 HTML 源码: soup = BeautifulSoup(html, "html.parser") 4. 查找所有的链接: links = soup.find_all("a") 5. 遍历链接并输出对应的 URL: for link in links: print(link.get("href")) 完整代码: ========== import requests from bs4 import BeautifulSoup url = "http://www.example.com" response = requests.get(url) html = response.text soup = BeautifulSoup(html, "html.parser") links = soup.find_all("a") for link in links: print(link.get("href")) ========== Q:将抓取的 URL 写入 MySQL A: 1. 安装并导入需要的库: # 安装 MySQL 驱动 !pip install mysql-connector-python import mysql.connector 2. 连接到数据库: # 连接到数据库 cnx = mysql.connector.connect( user="用户名", password="密码", host="主机地址", database="数据库名" ) # 获取游标 cursor = cnx.cursor() 3. 创建表格(如果已存在则跳过): # 创建表格 query = "CREATE TABLE IF NOT EXISTS urls (id INT AUTO_INCREMENT PRIMARY KEY, url VARCHAR(255))" cursor.execute(query) 4. 插入数据: # 准备插入的数据 urls = ["http://www.example.com/1", "http://www.example.com/2"] # 插入数据 query = "INSERT INTO urls (url) VALUES (%s)" cursor.executemany(query, [(url,) for url in urls]) # 提交事务 cnx.commit() 5. 关闭连接: # 关闭游标 cursor.close() # 关闭连接 cnx.close() 完整代码: ========== import mysql.connector # 连接到数据库 cnx = mysql.connector.connect( user="用户名", password="密码", host="主机地址", database="数据库名" ) # 获取游标 cursor = cnx.cursor() # 创建表格 query = "CREATE TABLE IF NOT EXISTS urls (id INT AUTO_INCREMENT PRIMARY KEY, url VARCHAR(255))" cursor.execute(query) # 准备插入的数据 urls = ["http://www.example.com/1", "http://www.example.com/2"] # 插入数据 query = "INSERT INTO urls (url) VALUES (%s)" cursor.executemany(query, [(url,) for url in urls]) # 提交事务 cnx.commit() # 关闭游标 cursor.close() # 关闭连接 cnx.close() ========== Q:不显示关闭连接会有什么影响 A:如果不显示关闭连接,将会导致数据库连接被占用,无法再次连接,可能会影响程序的正常运行。 此外,如果长时间占用连接,还可能导致数据库服务器资源耗尽,降低数据库服务器的性能。因此,应该在使 用完数据库后及时关闭连接。