python爬虫实现AI续写

前言:审核大大要是有侵权,能不能划出哪些字眼侵权啊!!!内容真的是原创啊!!

1.动机和效果展示
最近b站上有很多的AI续写工具:

感觉挺有趣的,但是自己python写这样的ai不太现实,仔细看了看它们的特点,发现其实是用不同的ai续写工具完成的。碰巧的是,其中一款叫“****尝鲜版”(## 这回不侵权了吧)的工具,不仅免费,效果好,而且是网页版本。于是萌生出了一个用python爬虫进行续写的工具。
效果如图:

只有红框部分是我自己上写的过来的,其他都是续写出来的。

在学校电脑晚自习的时候后台运行差不多一个4个小时可以破万字。
2.原理及实现
(1).进入网页进行分析:

这么多的网页信息请求等,我发现最重要的其实是novel_ai请求
为何?

这里我遮挡些不必要的东西,可以发现content就是我们要拿去续写的文本,
而branchid,lastnode,mid,nid,uid里面重要的就是lastnode,这个记录了之前续写节点的_id
看一下返回的response

{"status": 0,"msg": "ok","data": {"nodes": [{"_id": "61e37690a487af67fba10e8e","created_at": 1642296976,"updated_text": "just now","nid": "61e3768c1c5f5018d2e731e3","values": [{"from": "model","value": ",我叫李天宇,我是一个学生。\n这里是我的家庭住址。\n我的家庭是一个农村人,父亲是一个普通工薪阶层,母亲是一个中医师,而我自己则是一个医科学生。\n我在国内的家族是华夏最有权势、最神秘的几个之一"}],"children": [],"nodeid": "61e37690a487af67fba10e8e","parentid": "61e3768c1c5f5018d2e731e4","content": ",我叫李天宇,我是一个学生。\n这里是我的家庭住址。\n我的家庭是一个农村人,父亲是一个普通工薪阶层,母亲是一个中医师,而我自己则是一个医科学生。\n我在国内的家族是华夏最有权势、最神秘的几个之一","isedit": false,"hidden": false,"brother": ["61e37690a487af67fba10e8e", "61e37690a487af67fba10e8c", "61e37690a487af67fba10e8a"]}, {"_id": "61e37690a487af67fba10e8c","created_at": 1642296976,"updated_text": "just now","nid": "61e3768c1c5f5018d2e731e3","values": [{"from": "model","value": "!我叫王文。\n\"你好。\"\n\"嗯?我叫王文。\"\n\"嗯,你好,我叫王文,你呢?\"\n\"我叫李文轩。\"\n\"哦,原来你是王文轩啊,真的没有想到。\"\n\"你也没有想到啊。\"\n\"是啊。\"\n\"对了。\"\n\"怎么了?\"\n\""}],"children": [],"nodeid": "61e37690a487af67fba10e8c","parentid": "61e3768c1c5f5018d2e731e4","content": "!我叫王文。\n\"你好。\"\n\"嗯?我叫王文。\"\n\"嗯,你好,我叫王文,你呢?\"\n\"我叫李文轩。\"\n\"哦,原来你是王文轩啊,真的没有想到。\"\n\"你也没有想到啊。\"\n\"是啊。\"\n\"对了。\"\n\"怎么了?\"\n\"","isedit": false,"hidden": false,"brother": ["61e37690a487af67fba10e8e", "61e37690a487af67fba10e8c", "61e37690a487af67fba10e8a"]}, {"_id": "61e37690a487af67fba10e8a","created_at": 1642296976,"updated_text": "just now","nid": "61e3768c1c5f5018d2e731e3","values": [{"from": "model","value": "!我叫赵飞羽,是一名高中生,现任职于某县的公务员。我是一名勤劳踏实,有责任心的人,请大家放心。\n我会继续努力,不辜负大家的期望。\n这是我的手机号码,希望我们以后可以联系。\n感谢大家!\n新书《"}],"children": [],"nodeid": "61e37690a487af67fba10e8a","parentid": "61e3768c1c5f5018d2e731e4","content": "!我叫赵飞羽,是一名高中生,现任职于某县的公务员。我是一名勤劳踏实,有责任心的人,请大家放心。\n我会继续努力,不辜负大家的期望。\n这是我的手机号码,希望我们以后可以联系。\n感谢大家!\n新书《","isedit": false,"hidden": false,"brother": ["61e37690a487af67fba10e8e", "61e37690a487af67fba10e8c", "61e37690a487af67fba10e8a"]}],"count": 0,"cur_nodeid": "61e3768c1c5f5018d2e731e4"}
}

返回一个列表,记录了续写的返回值,如果我们每次都选择第一个,无线循环访问,就可以实现一直续写了。
思路是:
先novel_ai把自己要续写的内容传过去,收到回复后在把回复的内容第一个加到源文本中,继续传过去,循环往复即可。
而novel_ai:

这里我隐藏的原因是这是我的访问地址,你要进去访问要先手机号验证,我总不能把我的给你去玩吧。。。。
提示:这个网页访问不需要填写headers,管的很宽的,毕竟每次续写都要15——20s…
上代码:

import requests
import jsonurl = "http://if.caiyunai.com/v2/novel/?????????/novel_ai"payloaddata = {"branchid":"61dab2c7c14c1171b19578a9","content": "我不是神,我只是一介凡人!", #默认值,挺中二的。。。"lang": "zh","lastnode": "61dab2c7c14c1171b19578a8","mid": "60094a2a9661080dc490f75a","nid": "61dab2c7c14c1171b19578a7","ostype": "","status": "http","storyline": "true","title": "","uid": "????????"
}
#这里我加入了文本输入,这样方便一点
f_path = input("输入自己的内容文件:")
f = open(f_path,mode="a+",encoding="utf-8")
f.seek(0,0)
str=""
for each_line in f:str=str + each_line + "\n"
payloaddata["content"] = str
f.close()
temp="2"
while temp != "1" :#为什么每次我都重新打开呢,因为是无限循环,所以中途退出的可能没有保存#所以每次都打开关闭,确保保存了f = open(f_path,mode="a+",encoding="utf-8")f.seek(0,0)str=""for each_line in f:str=str + each_line + "\n"payloaddata["content"] = str    rep = requests.post(url,data=json.dumps(payloaddata))dit = rep.json()rep.close()dit = dit["data"]["nodes"][0]print("为你返回续写的内容为:"+"--------------------------------------------------------------------\n"+dit["content"])payloaddata["content"] = payloaddata["content"] + dit["content"]payloaddata["lastnode"] = dit["_id"]f.write(dit["content"])f.close()
#print(dit["data"]["nodes"]["_id"])

大功告成!

python爬虫实现AI续写相关推荐

  1. python爬虫用什么软件写_python用什么软件写爬虫

    如果你正在学习编程,那么"爬虫"绝对是你不可忽视的.那么,学习python爬虫之前需要哪些工具? 代码编辑运行环境:(推荐学习:Python视频教程) 个人推荐PyCharm社区版 ...

  2. 零基础python爬虫_零基础写python爬虫之爬虫编写全记录

    先来说一下我们学校的网站: http://jwxt.sdu.edu.cn:7777/zhxt_bks/zhxt_bks.html 查询成绩需要登录,然后显示各学科成绩,但是只显示成绩而没有绩点,也就是 ...

  3. python爬虫项目描述怎么写_爬虫项目咋写,爬取什么样的数据可以作为项目写在简历上?...

    看样子,主要目的是上简历 如果你想要爬虫的offer,那么你的项目应该有这么几个特征: 能用常用的框架,必要时有能力修改框架甚至自己写一个 熟悉多线程多进程分布式等,对爬虫任务调度有很好的解决办法 采 ...

  4. python爬虫编写-零基础写python爬虫之爬虫编写全记录

    先来说一下我们学校的网站: http://jwxt.sdu.edu.cn:7777/zhxt_bks/zhxt_bks.html 查询成绩需要登录,然后显示各学科成绩,但是只显示成绩而没有绩点,也就是 ...

  5. python爬虫实验报告怎么写_[Python]新手写爬虫全过程(转)

    今天早上起来,第一件事情就是理一理今天该做的事情,瞬间get到任务,写一个只用python字符串内建函数的爬虫,定义为v1.0,开发中的版本号定义为v0.x.数据存放?这个是一个练手的玩具,就写在tx ...

  6. python爬虫用什么软件写_python爬虫怎么写

    如今很多有编程能力的小伙伴已经不满足手动搜索内容了,都希望通过编写爬虫软件来快速获取需要的内容,那么如何使用python制作爬虫呢?下面小编给大家讲解一下思路 工具/原料 python 方法/步骤 1 ...

  7. python 爬虫难吗_python写爬虫难吗

    所谓网络爬虫,通俗的讲,就是通过向我们需要的URL发出http请求,获取该URL对应的http报文主体内容,之后提取该报文主体中我们所需要的信息. 下面是一个简单的爬虫程序 http基本知识 当我们通 ...

  8. Python爬虫入门教程 61-100 写个爬虫碰到反爬了,动手破坏它!

    python3爬虫遇到了反爬 当你兴冲冲的打开一个网页,发现里面的资源好棒,能批量下载就好了,然后感谢写个爬虫down一下,结果,一顿操作之后,发现网站竟然有反爬措施,尴尬了. 接下来的几篇文章,我们 ...

  9. python爬虫论文摘要怎么写_毕业论文-基于Python 的网络爬虫.docx

    北京林业大学本科毕业论文(设计) PAGE \* MERGEFORMATI 基于Python的网络爬虫 摘要 随着计算机技术的不断发展,新的编程语言层出不穷,Python,Html正是其中的佼佼者.相 ...

最新文章

  1. 北京超级云计算GPU服务器的使用教程
  2. python使用正則表達式
  3. java memcached 存储对象_java – 从Memcache中获取低级别数据存储区实体对象时的慢速反序列化...
  4. SanDisk闪迪推面向VMware Virtual SAN 6的增强型闪存
  5. hdu4282 x^z+y^z+x*y*z=k 解的个数
  6. calloc、malloc、realloc函数的区别及用法
  7. Codeforces Beta Round #14 (Div. 2)【未完结】
  8. 命令行切换到conda环境_Anaconda命令行常用操作
  9. JavaScript 对象与数组参考大全
  10. 前端学习(1562):ng-hide,ng-show
  11. Python使用pyexecjs代码案例解析
  12. 在JSP页面中获取系统当前日期时间
  13. java package 目录_修改jar包package目录结构操作方法
  14. python爬虫的用途_python爬虫用代理ip有什么用途?
  15. Linux下禁止ping最简单的方法
  16. MacOS下安装破解版EdrawMax
  17. 全方位移动全向轮、麦克纳姆轮底盘运动学逆解详解(内含电机输出方程)
  18. 半加器设计(结构描述法)
  19. 仿选单网图片合成小工具
  20. 无死角窥探的焦虑:AI如何反击隐私侵占?

热门文章

  1. 2019中国青年理想城Top30榜,上海、北京、深圳排前三
  2. layui table表头表行对不齐的问题
  3. bgcolor,background-color,color
  4. Centos 7 如何卸载docker
  5. [翼南]播音王 V3.50 KO版
  6. 为什么总是在电路里摆两个0.1uF和0.01uF的电容?
  7. 论文阅读 ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks
  8. Linux圈子里的“鲁大师“vmstat-尚文网络xUP楠哥
  9. shineblink控制全彩RGB LED
  10. 【笔记篇】10仓管系统出库管理——之《实战供应链》