自制ChatGPT批量生成文章多线程 多Key Python脚本

2023-11-13

本文转载自:自制ChatGPT批量生成文章多线程 多Key Python脚本

更多内容请访问钻芒博客:https://www.zuanmang.net

简单 多线程GPT3.5模型:

特有需求,生成文章后会先保存txt到文章中,程序跑完之后会在生成一个文章汇总.xlsx的表格(并贴心的插入百度下拉词和双标题),方便不同用途。

# 钻芒博客站长原创内容,使用问题请留言将协助解决。

准备工作

  1. 创建文章文件夹,用于存放文章
  2. 创建key.txt ,用于放入key,一行一个
  3. 创建关键词.txt ,用于放入待生成文章的关键词,一行一个
  4. 创建chatgpt_batch_writer.py 文件,将下文的代码放入此文件中运行python程序。

如运行提示缺少环境可以使用 pip install 提示缺少环境的名称 进行安装,此脚本基于python3.8,其他版本请自行测试。

需要安装运行所需库:

pip install openai

从第二个版本开始还需安装:

pip install openai requests openpyxl

另外,该代码使用了 Python 内置的 os 和 random 模块,以及标准库 threading 和 queue 模块。这些模块在 Python 中默认已经安装,无需另外安装。

目前共发布4个版本:

  • 第1版:单纯批量生成文章,加入多线程、支持多个Key、保存为.txt文件
  • 第2版:新增生成文章后保存为txt文件和xlsx汇总表格,表格内容插入百度双标题标签用于辅助SEO
  • 第3本:优化输出的Html内容排版
  • 第4版(最新版本):优化运行逻辑,当网络等问题导致生成失败的关键词会自动重新添加到队列中,避免人工多次操作

第一个版本 | 单纯生成文章

此处内容已隐藏,前往博客原文查看​

第二个版本 | 双标题、保存到表格、百度下拉词生成标签

需求举例:在这一版本的基础上进行优化几个功能,将生成的文章保存之后,对保存对txt文件标题进行下拉双标题优化,比如“北京注册公司”,优化为“北京注册公司_北京注册公司多少钱” 中间用_分隔,_之后的标题获取api是:https://www.baidu.com/sugrec?pre=1&p=3&ie=utf-8&json=1&prod=pc&from=pc_web&wd=关键词,取返回的api中第一个关键词。然后在所有文章生成完成之后,在保存一份xlsx表格文件,表格内格式参考:第一列“标题”,对应txt文章文件名,第二列内容,对应txt文章文件的内容。第三列“标签”,根据上边百度的api,对原有未双标题优化后的标题进行拉取两个下拉词。为了避免重复,这里跳过第一个下拉词。第四列“标签2” 根据双标题优化的下拉词进行拉取下拉词,同样拉取两个。

从第二版开始,由于更多功能加入,需新安装运行所需库:

pip install openai requests openpyxl

此处内容已隐藏,前往博客原文查看​

第三个版本 | 优化输出的文章为html格式

此处内容已隐藏,前往博客原文查看​

第四个版本 | 优化关键词在生成失败的情况下,将关键词重新加入到队列中,让其再次生成

此处内容已隐藏,前往博客原文查看​

相关推荐:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自制ChatGPT批量生成文章多线程 多Key Python脚本 的相关文章

  • Pygame读取MIDI输入

    我参考了Pygame MIDI 文档 https www pygame org docs ref midi html and 这段代码 https stackoverflow com questions 62983509 pygame mi
  • openpyxl 2.4.2:保存后公式生成的单元格值为空

    我使用 openpyxl 打开文件 编辑一些单元格并保存更改 这是一个例子 import openpyxl book openpyxl load workbook sheet path sheet book active for row i
  • 如何屏蔽 PyTorch 权重参数中的权重?

    我正在尝试在 PyTorch 中屏蔽 强制为零 特定权重值 我试图掩盖的权重是这样定义的def init class LSTM MASK nn Module def init self options inp dim super LSTM
  • 打印 scrapy 请求的“响应”

    我正在尝试学习 scrapy 在遵循教程的同时 我正在尝试进行细微的调整 我想简单地从请求中获取响应内容 然后我会将响应传递到教程代码中 但我无法发出请求并获取响应内容 建议就好 from scrapy http import Respon
  • 替换字符串列表中的 \x00 的最佳方法?

    我有一个来自已解析 PE 文件的值列表 其中包括 x00每个部分末尾的空字节 我希望能够删除 x00字符串中的字节而不删除所有字节 x 文件中的 s 我试过做 replace and re sub 但并没有取得太大成功 使用Python 2
  • 如何在 Ubuntu 上安装 Python 模块

    我刚刚用Python写了一个函数 然后 我想将其做成模块并安装在我的 Ubuntu 11 04 上 这就是我所做的 创建 setup py 和 function py 文件 使用 Python2 7 setup py sdist 构建分发文
  • Python 中的六边形自组织映射

    我在寻找六边形 自组织映射 http en wikipedia org wiki Self organizing map在Python上 准备好模块 如果存在的话 绘制六边形单元格的方法 将六边形单元作为数组或其他方式使用的算法 About
  • Python:当前目录是否自动包含在路径中?

    Python 3 4 通过阅读其他一些 SO 问题 似乎如果moduleName py文件位于当前目录之外 如果要导入它 必须将其添加到路径中sys path insert 0 path to application app folder
  • 将一个时间序列插入到 pandas 中的另一个时间序列中

    我有一组定期测量的值 说 import pandas as pd import numpy as np rng pd date range 2013 01 01 periods 12 freq H data pd Series np ran
  • 唯一的图像哈希值即使 EXIF 信息更新也不会改变

    我正在寻找一种方法来为 python 和 php 中的图像创建唯一的哈希值 我考虑过对原始文件使用 md5 和 因为它们可以快速生成 但是当我更新 EXIF 信息 有时时区关闭 时 它会更改总和 并且哈希也会更改 有没有其他方法可以为这些文
  • 行为:如何从另一个文件导入步骤?

    我刚刚开始使用behave http pythonhosted org behave 一个Pythonic BDD框架 使用小黄瓜语法 http docs behat org guides 1 gherkin html 行为需要一个特征 例
  • 使用 python 将文本发送到带有逗号分隔符的列

    如何使用分隔符 在 Excel 中将一列分成两列 并使用 python 命名标题 这是我的代码 import openpyxl w openpyxl load workbook DDdata xlsx active w active a a
  • urllib2.urlopen() 是否实际获取页面?

    当我使用 urllib2 urlopen 时 我在考虑它只是为了读取标题还是实际上带回整个网页 IE 是否真的通过 urlopen 调用或 read 调用获取 HTML 页面 handle urllib2 urlopen url html
  • ValueError:无法插入 ID,已存在

    我有这个数据 ID TIME 1 2 1 4 1 2 2 3 我想按以下方式对数据进行分组ID并计算每组的平均时间和规模 ID MEAN TIME COUNT 1 2 67 3 2 3 00 1 如果我运行此代码 则会收到错误 ValueE
  • python中的sys.stdin.fileno()是什么

    如果这是非常基本的或之前已经问过的 我很抱歉 我用谷歌搜索但找不到简单且令人满意的解释 我想知道什么sys stdin fileno is 我在代码中看到了它 但不明白它的作用 这是实际的代码块 fileno sys stdin filen
  • 使用 lambda 函数更改属性值

    我可以使用 lambda 函数循环遍历类对象列表并更改属性值 对于所有对象或满足特定条件的对象 吗 class Student object def init self name age self name name self age ag
  • 是否可以写一个负的python类型注释

    这可能听起来不合理 但现在我需要否定类型注释 我的意思是这样的 an int Not Iterable a string Iterable 这是因为我为一个函数编写了一个重载 而 mypy 不理解我 我的功能看起来像这样 overload
  • 如何在单独的文件中使用 FastAPI Depends 作为端点/路由?

    我在单独的文件中定义了一个 Websocket 端点 例如 from starlette endpoints import WebSocketEndpoint from connection service import Connectio
  • Pandas 在特定列将数据帧拆分为两个数据帧

    I have pandas我组成的 DataFrameconcat 一行由 96 个值组成 我想将 DataFrame 从值 72 中分离出来 这样 一行的前 72 个值存储在 Dataframe1 中 接下来的 24 个值存储在 Data
  • 具有指定置信区间的 Seaborn 条形图

    我想在 Seaborn 条形图上绘制置信区间 但我已经计算出置信区间 如何让 Seaborn 绘制我的置信区间而不是尝试自行计算它们 例如 假设我有以下 pandas DataFrame x pd DataFrame Group 1 0 5

随机推荐

  • 前端面试考点---浏览器进程线程篇

    概念解析 进程 操作系统分配调度资源的最小单位 每个软件程序至少一个进程 线程 程序执行的最小单元 多进程 一个操作系统同时运行多个应用程序 一个浏览器同时打开多个tab页面 多线程 浏览器内核多线程协作完成渲染工作 浏览器进程划分 浏览器
  • Nginx nginx.conf配置文件详解

    目录 1 配置文件划分 第一部分 全局块 第二部分 events块 第三部分 http 2 详细配置 events use epoll http 负载方式 server 额外扩展配置 额外注意 1 配置文件划分 worker process
  • ros 样例代码和教程

    中国大学MOOC 机器人操作系统入门 课程代码示例 代码 https github com DroidAITech ROS Academy for Beginners 书 https legacy gitbook com book sych
  • 毕业设计别再做 XX 管理系统了!!!

    前几天写了一篇文章 你的毕业设计是 XX 管理系统吗 阅读量挺高的 很多读者还以为是推荐几个亮眼的 GitHub 项目 发现并不是 今天推荐几个项目 毕业设计可借鉴下面这几个 GitHub 项目 我不是简单的推荐项目 还会给出一些思路 基于
  • Qt 判断集合中的元素是否全部相同

    1 简述 判断元素是否相同 遍历跟第一个比就行 有不同直接返回 情况是有一个设备组 里边包含若干设备 设备全开 组开关显示开 设备全关 组开关显示关 设备状态不一致 禁用组开关 逻辑 判断组内状态是否相同 if 相同 取第一个设备状态即可
  • C语言 ANSI C 库常用处理字符串的函数

    1 char strcpy char restrict s1 const char restrict s2 该函数把s2指向的字符串 包括空字符 拷贝至s1指向的位置 返回值是s1 2 char strncpy char restrict
  • lua 之 math

    参考 Imathlib c Math Library Tutorial 常用接口 abs 返回指定值的绝对值 print math abs 10 10 print math abs 5 5 print math abs 1 02 1 02
  • 题目:L2-035 完全二叉树的层序遍历

    题目 题目详情 L2 035 完全二叉树的层序遍历 25 分 pintia cn 大意 一个二叉树 如果每一个层的结点数都达到最大值 则这个二叉树就是完美二叉树 对于深度为 D 的 有 N 个结点的二叉树 若其结点对应于相同深度完美二叉树的
  • 基于STM32F103的智能门锁系统

    基于STM32F103的智能门锁系统 直接说明实现了什么效果 1 指纹解锁 基于AS608 2 RFID解锁 基于RC522 3 密码解锁 基于LCD电容屏触摸控制 4 蓝牙解锁 基于HC 06 5 后台服务器管理开锁信息 基于ESP826
  • Docker 初学者指南——如何创建您的第一个 Docker 应用程序

    您是开发人员 想从 Docker 入手 这篇文章是为你而写的 在简要介绍什么是 Docker 以及为什么要使用它之后 您将能够使用 Docker 创建您的第一个应用程序 什么是Docker Docker是 Docker Inc 开发的一款免
  • 使用MXNet完成一个基于FCN的盲道实时语义分割

    使用MXNet完成一个基于FCN的盲道识别语义分割 一点说明 基本原理 测试集效果 数据标注 训练 基本设置 读入数据 网络构建 开始训练 测试 一点说明 前段时间根据gluon的教程动手学深度学习和同学项目实地拍摄的盲道图片完成了一个基于
  • 最强自动化测试框架Playwright(17)- 模拟接口

    模拟接口 介绍 Web API 通常作为 HTTP 终结点实现 Playwright提供了API来模拟和修改网络流量 包括HTTP和HTTPS 页面所做的任何请求 包括 XHR 和获取请求 都可以被跟踪 修改和模拟 使用Playwright
  • Ubuntu查看usb设备驱动/usb以太网卡设备驱动

    step1 lsusb 查看当前有哪些usb设备 注意 插在usb口上的外接设备一定能通过lsusb显示出来 但是不一定能通过lspci显示出来 即使这个设备的驱动已经安装了 由于我要查看我的有线网卡的驱动 lsusb命令执行完成以后可知
  • ORA-12505:TNS:listener does not currently know of SID given in connect descriptor

    Oracle安装好之后 默认的listener是localhost 现在为了在局域网内能够访问 其他电脑访问的时候 提示如下错误 ORA 12505 TNS listener does not currently know of SID g
  • 八大排序总结---- 数据结构 (图解法) 面试必会! ! !

    八大排序总结 目录 一 插入排序 InsertSort 二 希尔排序 ShellSort 三 选择排序 SelectSort 四 堆排序 HeapSort 五 冒泡排序 BubbleSort 六 快速排序 QuickSort 1 hoare
  • 至少12亿元收支差,分析运营商7大数据产品应用

    本文不讨论运营商在大数据的应用上暂时的颓势 也不评击其拥有金库却见不着有数的着的商业模式 或许是因为运营商们探索时间起步较晚 也可能由于运营商对于如何开放用户数据还没想明白 又或者是历史遗留的用户数据还存在业务线条分割 区域分割 数据分散情
  • 学会这7个常见问题和答案,让你下一次JavaScript面试获得高分

    在本文中 我将涵盖您在JavaScript 面试中可能遇到的最常见问题 并提供详细的答案和示例 以帮助您在竞争中脱颖而出 无论您是初学者还是经验丰富的开发人员 本指南都会让您有信心打动面试官并找到工作 1 什么是 JavaScript 它与
  • 用R建立岭回归和lasso回归

    1 分别使用岭回归和Lasso解决薛毅书第279页例6 10的回归问题 例6 10的问题如下 输入例题中的数据 生成数据集 并做简单线性回归 查看效果 cement lt data frame X1 c 7 1 11 11 7 11 3 1
  • 软件工程专业毕设题目选题推荐

    文章目录 0 前言 1 题目推荐 2 开题指导 2 1 起因 2 2 如何避坑 重中之重 2 3 为什么这么说呢 2 4 难度把控 2 5 题目名称 3 最后 0 前言 这是学长亲手整理的 软件工程毕设选题系列第三篇 都是经过学长精心审核的
  • 自制ChatGPT批量生成文章多线程 多Key Python脚本

    本文转载自 自制ChatGPT批量生成文章多线程 多Key Python脚本 更多内容请访问钻芒博客 https www zuanmang net 简单 多线程GPT3 5模型 特有需求 生成文章后会先保存txt到文章中 程序跑完之后会在生