飞道的博客

怎样让chatGPT给你打工然后月入过千?

580人阅读  评论(0)

前言

chatGPT最近火出圈了,怎么薅一个文字模型给你打工呢?
这个UP给了个思路:哔哩哔哩
emmm有点尴尬,可能是热度比较高,b站的视频作者自己下架了。

总结一下:

  • 薅的对象百度文库创作中心:地址
  • 除了每个文档一块三左右的收入还有每个月发多少篇的奖励。
  • chatGPT干这个不就是信手拈来了???

实现

B站的作者代码没开源的,但是这玩意没啥难度啊…打了一年半的工写个这个不是信手拈来?
粗略的看了下b站的视频,他的技术栈应该是用pychatGPT模拟浏览器发request请求然后拿openAI的回复。所以核心就是用pychatGPT呗?找了下老外开源的代码:https://github.com/rawandahmad698/PyChatGPT
12月17号粗略跑了一下发现已经被ban了并且作者也绕过不了openai的cf了:

所以呢,b站阿婆主的方法已经没用了,那也问题不大,自己写一个就是了。

我实现的技术栈:

  • selenium自动化浏览器控制
  • beautifulsoup解析html
  • pypandoc文本输出docx

你没看错,就是爬虫的技术栈,request被ban了咱就傻瓜式的直接浏览器控制就是了。

第一步:获取任务

为了全自动,获取任务当然也要自动了,这个比较简单解析下百度文库的网页源码就可以获取任务了:

可以看到任务都在doc-row里面,所以核心的检索代码用beautifulsoup搜一下就好了:

doc_rows = soup.findAll('div', {
   "class": "doc-row"})

然后搜子标签里面的span,并且属性是doc-title就可以获取题目了,同理价格。

然后dump到本地的csv就好了:

第二步:遍历任务让chatgpt回答

这里比较麻烦的就是绕过openai的cf,既然很难我们就不饶过了,直接浏览器控制,selenium!!!yyds!!!
看看openai的源码:

问题和答案都在框起来的源码里了,这样不就ssssso easy了,用selenium获取到网页的源码后,在用bs4库像步骤一一样解析就好了:
核心代码:

answer = str(soup.findAll('div', {
   "class": "min-h-[20px] flex flex-col items-start gap-4 whitespace-pre-wrap"})[-1])

为啥取最后一个?当然是最后一个肯定是最近的回答了。
这里还有些难点:

  • 怎么判断openai生成文本结束了呢?
  • 因为openai的限制一次只能输出400个字,怎么接着让他输出呢?
  • html的源码有好多

    这样的符号怎么导出到doc呢?直接导出的话这样肯定没法看。

问题一:判断生成结束,解决方案


在输出答案的时候这个地方是省略号,所以可以判断html是否有这个省略号来判断openai是否输出完成。

问题二:怎么接着让他输出呢?解决方案

这个其实很简单,判断下答案是否够比如说800字?不够我们就再给他发一条"接着说"他就会接着输出了

问题三:html的源码有好多符号怎么导出到doc呢?直接导出的话这样肯定没法看。解决方案

可以直接获取回答的结果对应的html源码如下:

<div class="min-h-[20px] flex flex-col items-start gap-4 whitespace-pre-wrap"><div class="markdown prose break-words dark:prose-invert light"><p>本领动作是指身体的各个部位可以灵活运用的动作。这些动作有利于增强身体的力量、柔韧性和协调能力,有助于促进身体的健康发展。</p><p>一些常见的本领动作包括:</p><ul><li>俯卧撑:身体俯卧在地上,双手放在地面,腹部收紧,使身体抬起。俯卧撑能增强胸部、手臂和腹部的力量。</li><li>仰卧起坐:身体仰卧在地上,双手放在身体侧面,腹部收紧,使身体从仰卧状态坐起。仰卧起坐能增强腹部、背部和大腿的力量。</li><li>引体向上:站立或悬挂状态下,双手紧握横杠或其他抓握物,腹部收紧,使身体向上拉。引体向上能增强背部、手臂和腹部的力量。</li><li>开合跳:双脚并拢,腹部收紧,使身体向上跳起,再把双脚张开,再跳起。开合跳能增强腹部、大腿和膝盖的力量。</li><li>深蹲:双脚张开,身体向下坐,使膝盖与脚踝成90度角。深蹲能增强大腿、膝盖和腰部的力量。</li></ul><p>这些本领动作都可以</p></div></div><div class="min-h-[20px] flex flex-col items-start gap-4 whitespace-pre-wrap"><div class="markdown prose break-words dark:prose-invert light"><p>自由组合,搭配出不同的本领训练项目。例如,可以先做几个俯卧撑,再做几个仰卧起坐,再做几个引体向上,接着做几个开合跳,最后做几个深蹲。这样的训练项目不仅能锻炼身体的各个部位,还能促进心肺功能的提升。</p><p>在做本领动作时,需要注意身体的姿势和呼吸。姿势要正确,呼吸要规律。如果觉得有些动作难度较大,可以适当减少动作次数或使用辅助工具,逐渐增加难度。</p><p>做本领动作不仅能增强身体的力量和柔韧性,还能提升身心状态,对身体健康有很大的益处。建议每周至少做3次本领动作训练,每次训练时间在30分钟左右。</p></div></div>

加一下支持中文和标题:

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<h1>本领动作</h1>

看看效果:


网页解析的效果不错了,然后用pypandoc将html源码转doc即可核心代码:

pypandoc.convert_file("xx.html", "docx", outputfile="xx.doc")

看看doc的效果:

very very good!!!

最后

最后用文库的批量提交就可以提交了,下午跑了三个小时弄了40篇试试水:

看看能不能过审核。

TODO1

有些文库的任务质量非常差:

比如上图,这是什么没有逻辑的鬼东西,这种可以在dump下来的任务csv中标注下标签,给这个打个坏,在之后人工审核出来之后可以把过审的标注成好 ,并且没过审的也标注成坏,这样随便跑个轻量的nlp模型就能过滤大量没有意义的任务了。

TODO2

躺平就想着全全自动,现在在上传文库这块还是依赖手工,可以用python模型鼠标点击,固定屏幕的话可以像按键精灵一样写个脚本自动上传了,不过可能就是要处理的特殊情况会多一些,写起来倒是没啥难度。


转载:https://blog.csdn.net/qq_37668436/article/details/128365073
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场