QQ个性网:专注于分享免费的QQ个性内容

关于我们| 网站公告| 广告服务| 联系我们| 网站地图

搜索
AI 盘古大模型 智谱AI SenseNova 混元大模型 chatgpt 星火大模型 deepseek 安第斯大模型 文心一言 豆包 huggingface 通义千问 cursor MiLM claude 大模型 PaddlePaddle 360智脑

文心一言+这款脚本,写作变简单!仅三步,即可生成你想要的文章

日期:2025/04/02 05:01来源:未知 人气:53

导读:AI有时,一个问题,问一遍AI,是不是很浪费时间,但是,如果 自己多个问题,一起问,就可以省很多时候了。这个角度就是从这个角度写的。当然,你可参考这个思路写更适合你的脚本。AI,可以让我们生活更有效率。准备工作:安装Python和必需的库。准备好关键词文件和写作指令文件。确保输出目录存在或有权限创建。运行脚本:打开终端,输入命令:bash复制python yiyan_write......

AI

  1. 有时,一个问题,问一遍AI,是不是很浪费时间,但是,如果 自己多个问题,一起问,就可以省很多时候了。这个角度就是从这个角度写的。当然,你可参考这个思路写更适合你的脚本。AI,可以让我们生活更有效率。

  2. 准备工作

  • 安装Python和必需的库。

  • 准备好关键词文件和写作指令文件。

  • 确保输出目录存在或有权限创建。

  • 运行脚本

    • 打开终端,输入命令:

bash

复制

python yiyan_writer.py

  • 脚本会自动打开Chrome浏览器,等待你登录文心一言。
  • 生成文章

    • 登录完成后,按回车继续。

    • 脚本会自动处理关键词列表,生成的文章将保存在指定目录下。

3. 输出说明:高效管理,一目了然

“生成的文章将按照关键词命名,保存在 E:\07.python\04-1.保存\ 目录下。每个关键词对应一个独立的文本文件,方便你快速查找和管理!

  • 文件名格式关键词.txt

  • 文件内容 :包含AI生成的高质量文章,可直接使用或进一步修改。

4. 注意事项:稳定运行,避免踩坑

“为了确保脚本稳定运行,以下几点需要注意:”#web#

  • 运行环境

    • 确保网络连接稳定。

    • 确保Chrome浏览器已安装,且版本与ChromeDriver匹配。

  • 使用限制

    • 需要有文心一言的访问权限。

    • 避免频繁请求,建议设置适当的等待时间。

  • 错误处理

    • 脚本包含自动重试机制,出错时会自动截图保存。

    • 支持断点续传,失败后可继续处理剩余关键词。

5. 开发与维护:持续优化,高效运行

“这款脚本基于Selenium WebDriver开发,支持自动处理弹窗和异常情况。为了确保脚本长期稳定运行,建议定期更新和维护:

fromseleniumimportwebdriver

fromselenium.webdriver.common.byimportBy

fromselenium.webdriver.common.keysimportKeys

fromselenium.webdriver.support.uiimportWebDriverWait

fromselenium.webdriver.supportimportexpected_conditionsasEC

importtime

importos

classYiyanWriter:

definit(self):

设置Chrome选项

chrome_options = webdriver.ChromeOptions()

添加参数以避免一些错误

.add_argument('--disable-gpu')

.('--no-sandbox')

.('--disable-dev-shm-usage')

.('--disable-extensions')

self.driver = webdriver.Chrome(options=)

self.wait = WebDriverWait(self.driver, 20)

deflogin(self):

try:

打开文心一言页面

self.driver.get("https://yiyan.baidu.com/chat")

print("请在浏览器中完成登陆操作...")

input("登录完成后按回车继续...")

print("正在等待页面加载...")

time.sleep(5) # 等待页面完全加载

exceptExceptionase:

print(f"登录过程出错: {e}")

raise

defread_keywords(self, file_path):

try:

withopen(file_path, 'r', encoding='utf-8') asf:

return [line.strip() forlineinfifline.strip()]

exceptExceptionase:

print(f"读取关键词文件出错: {e}")

raise

defread_prompt(self, file_path):

try:

withopen(file_path, , encoding=) asf:

returnf.read().strip()

exceptExceptionase:

print(f"读取提示词文件出错: {e}")

raise

defgenerate_content(self, keyword, prompt):

try:

print(f"正在处理关键词: {keyword}")

先等待一段时间,避免请求太频繁

time.sleep(10)

检查会话状态,如果异常则刷新页面

try:

尝试点击一下输入框区域,检查页面是否响应

self.driver.find_element(By.CSS_SELECTOR, "div.chat-input-box").click()

time.sleep(2)

except:

print("会话可能已过期,刷新页面...")

self.driver.refresh()

time.sleep(10)

等待并查找输入框

input_box = self.wait.until(

EC.presence_of_element_located((By., "div[contenteditable='true']"))

)

构造完整提示词

full_prompt = prompt.replace("关键词", keyword)

print("正在输入提示词...")

清空输入框并缓慢输入内容

self.driver.execute_script("arguments[0].innerHTML = ''", input_box)

time.sleep(2)

模拟人工输入速度

forcharin:

input_box.send_keys(char)

time.sleep(0.05) # 每个字符之间稍微停顿

time.sleep(3) # 输入完成后等待一下

print("正在发送消息...")

尝试查找并点击发送按钮

try:

确保按钮可见和可点击

send_button = self.wait.until(

EC.element_to_be_clickable((By., "span#sendBtn"))

)

模拟人工点击

time.sleep(1)

.click()

print("消息已发送")

time.sleep(5) # 发送后等待一段时间

except:

print("发送失败")

returnNone

print("等待回复中...")

max_wait = 120# 增加等待时间

start_time = time.time()

等待新消息出现

whiletime.time() - start_time < max_wait:

try:

检查是否有错误提示

error_messages = self.driver.find_elements(By., ".ant-message-notice")

if:

print("检测到环境异常,等待后重试...")

time.sleep(15) # 等待较长时间

returnNone

查找消息元素

messages = self.driver.(By.CSS_SELECTOR, ".chat-message")

ifmessages:

获取最新的消息文本

latest_message = messages[-1].text.strip()

iflatest_messageandlatest_message != full_prompt:

print("收到回复!")

time.sleep(3) # 等待回复完全加载

returnlatest_message

time.sleep(2)

exceptExceptionase:

print(f"检查回复时出错: {e}")

time.sleep(2)

print("等待回复超时")

returnNone

exceptExceptionase:

print(f"生成内容时出错: {e}")

self.driver.savescreenshot(f"error{keyword}.png")

returnNone

defrun(self):

try:

设置输出目录

output_dir = r"E:\07.python\04-1.保存"

ifnotos.path.exists(output_dir):

os.makedirs(output_dir)

print(f"创建输出目录: {output_dir}")

登录

self.login()

读取关键词和提示词

keywords = self.read_keywords(r"E:\07.python\04.1关键词.txt")

prompt = self.read_prompt(r"E:\07.python\04.2写作指令.txt")

print(f"共读取到 {len(keywords)} 个关键词")

处理每个关键词

forindex, keywordinenumerate(keywords, 1):

retry_count = 0

max_retries = 3

whileretry_count < max_retries:

try:

print(f"\n处理第 {index}/{len(keywords)} 个关键词: {keyword}")

ifretry_count > 0:

print(f"第 {retry_count + 1} 次重试...")

刷新页面

self.driver.refresh()

time.sleep(5)

content = self.generate_content(keyword, prompt)

ifcontent:

保存内容

output_file = os.path.join(output_dir, f"{keyword}.txt")

try:

withopen(output_file, 'w', encoding='utf-8') asf:

f.write(content)

print(f"内容已保存到: {output_file}")

break# 成功后跳出重试循环

exceptExceptionase:

print(f"保存文件失败: {e}")

else:

print(f"处理失败,准备重试...")

retry_count += 1

time.sleep(3)

exceptExceptionase:

print(f"处理出错: {e}")

retry_count += 1

time.sleep(3)

ifretry_count >= max_retries:

print(f"处理关键词 {keyword} 失败,已达到最大重试次数")

ifindex < len(keywords):

print("等待10秒后处理下一个关键词...")

time.sleep(10)

print("\n所有关键词处理完成!")

print(f"输出文件保存在: {output_dir}")

exceptKeyboardInterrupt:

print("\n程序被用户中断")

exceptExceptionase:

print(f"运行时出错: {e}")

self.driver.save_screenshot("error_general.png")

finally:

try:

print("正在关闭浏览器...")

self.driver.quit()

except:

pass

ifname == "main":

try:

writer = YiyanWriter()

writer.run()

exceptKeyboardInterrupt:

print("\n程序被用户中断")

exceptExceptionase:

print(f"程序执行出错: {e}")

finally:

print("\n按回车键退出程序...")

try:

input()

except:

pass

  • 定期更新

    • 更新ChromeDriver版本。

    • 检查选择器是否需要更新。

  • 性能优化

    • 调整等待时间和重试次数。

    • 自定义输出格式,满足个性化需求。

如果你网络环境不太稳定,可能会报错,可自行调试即可,代码只是给大家参考思路。

关于我们|网站公告|广告服务|联系我们| 网站地图

Copyright © 2002-2023 某某QQ个性网 版权所有 | 备案号:粤ICP备xxxxxxxx号

声明: 本站非腾讯QQ官方网站 所有软件和文章来自互联网 如有异议 请与本站联系 本站为非赢利性网站 不接受任何赞助和广告