惊!ChatGPT处理文章仅需一秒钟,提取大纲、重写不在话下!

这篇具有很好参考价值的文章主要介绍了惊!ChatGPT处理文章仅需一秒钟,提取大纲、重写不在话下!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

在上篇文章中,我们实现了批量抓取到微信公众号文章的链接地址,那么这篇文章将继续为大家介绍,如何根据链接爬取到文章内容,并且利用chantGPT对文章进行处理。

爬取文章内容

我们已经有了很多文章的链接,这些链接url是可以直接通过浏览器进行访问的,例如这样:
惊!ChatGPT处理文章仅需一秒钟,提取大纲、重写不在话下!,chatgpt
我们只需要通过这些url地址,爬取到每一篇文章,并通过xpath和正则表达式,提取出一些重要的内容,并把这些内容保存到数据库中,或者可以将整个页面以HTML的格式保存下来。

1.首先定义一个类,并定义一些超参数,如下:

class WeixinSpider:
    def __init__(self):
        self.url_temp = ""
        self.headers = {
            "User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36"}
2.定义一个读取文件中的url的方法
 def get_url_list(self):
        file_path = "it.csv"
        df = pd.read_csv(file_path)
        temp_list = df["link"].str.split("!").tolist() #[[],[],[]]
        num_list = list(set([i for j in temp_list for i in j]))
        url_list= [i for i in num_list]
        time_list = df["create_time"].tolist() #[[],[],[]]
        return url_list,time_list

我们读取文件,将里面的link传入到list中,tolist()方法是将pandas中的Series类型的数据转换成list类型。返回两个列表,url列表和发布时间列表。

3.解析url地址,发送请求获得响应,返回页面源码
    def parse_url(self, url):  # 发送请求,获取响应
        print(url)
        response = requests.get(url, headers=self.headers)
        return response.content.decode()

网页上的是bytes类型数据,所以需要转换成str类型。str 使用encode方法转化为 bytes,bytes通过decode转化为str。

4.分析页面结构,提取数据

通过F12查看网页源码,我们可以知道文章的标题在id="activity-name"的标签中。
惊!ChatGPT处理文章仅需一秒钟,提取大纲、重写不在话下!,chatgpt
公众号名称,在id="js_name"的标签中
惊!ChatGPT处理文章仅需一秒钟,提取大纲、重写不在话下!,chatgpt
文章的主体,全都在id="js_content"的div标签中。
惊!ChatGPT处理文章仅需一秒钟,提取大纲、重写不在话下!,chatgpt
于是,我们可以使用xpath提取出文章的标题,公众号名称,以及文章本体内容,代码如下:

 def get_content_list(self,html_str):#提取数据
        html = etree.HTML(html_str)
        content_list = []
        item = {}
        item["title"] = html.xpath("//*[@id=\"activity-name\"]/text()")
        item["title"] = [i.replace("\n","").replace(" ","") for i in item["title"]]
        item["laiyuan"] = html.xpath("//*[@id=\"js_name\"]/text()")
        item["laiyuan"] = [i.replace("\n","").replace(" ","") for i in item["laiyuan"]]
        item["other"] = html.xpath("//*[@id=\"js_content\"]//text()")
        
        content_list.append(item)
        return content_list

直接通过xpath取到的文本内容,里面包含了很多换行符以及空格,所以需要将其替换掉。

5.保存html

我们将网页源码也都保存下来,并以文章标题来命令,如下,保存到一个it的文件夹中了,要提前在代码根目录下创建好这个文件夹。

 def save_html(self, html_str, page_name):  # 保存html字符串
        file_path = "it/{}.html".format(page_name)
        with open(file_path, "w", encoding="utf-8") as f: 
            f.write(html_str)
6.主方法

在主方法中,我们将上面所有方法都串起来,并且连接数据库,将爬取到的结果保存在数据库中

def run(self):  # 实现主要逻辑
        # 1.构造url列表
        # 2.遍历,发送请求,获取响应
        url_list,time_list = self.get_url_list()
    
        # 打开数据库连接(ip/数据库用户名/登录密码/数据库名)
        db = pymysql.connect("localhost", "root", "root", "weixin_database")
    
        # 使用 cursor() 方法创建一个游标对象 cursor
        cursor = db.cursor()
   
        for url in url_list:
            num = url_list.index(url)
            print(num)
            html_str = self.parse_url(url)
            content_list = self.get_content_list(html_str)
            title = ''.join(content_list[0]["title"])
            laiyuan = ''.join(content_list[0]["laiyuan"])
            other = '\n'.join(content_list[0]["other"])
            create_time = time_list[num]
            p = re.compile('<div class="rich_media_content " id="js_content">.*?</div>',re.S)
            html = re.search(p,html_str)
            if(html):
                html = re.search(p3,html_str).group().replace("\n","")
                
            else:
                html = html_str.replace("\n","")
            sql = """INSERT INTO weixin_table(title,url,other,html,create_time,type_id)
                VALUES ({},{},{},{},{},{},{},{})""".format('"'+title+'"','"'+url+'"','"'+other+'"',"'"+html+"'",create_time,1)
            try:
               # 执行sql语句
                cursor.execute(sql)
               # 提交到数据库执行
                db.commit()
            except:
                print("第"+num+"条数据插入失败")
               # 如果发生错误则回滚
                db.rollback()

            # 3.保存html
            page_name = title
            self.save_html(html_str, page_name)      
        # 关闭数据库连接
        db.close()
7.执行代码

最后,写出main方法,直接运行即可。

if __name__ == '__main__':
    weixin_spider = WeixinSpider()
    weixin_spider.run()

使用ChatGPT处理文章

爬取到文章之后,我们还需要对文章内容,做进一步的处理,可以提取大纲、重写、改写等操作。

提取大纲

先来看图,下面就实现了对文章内容的观点提取,会根据文章段落,重新生成小标题,并对该段落的内容进行总结,输出核心观点。
惊!ChatGPT处理文章仅需一秒钟,提取大纲、重写不在话下!,chatgpt
【这个截图是我使用的我自己开发的一个工具类网站,后续这个网站代码也会全部开源】
大家使用chatgpt官网也是一样的,完整的prompt如下:

你是一名作家,你精通各种知识和技能;
任何时候都不要说出自己是人工智能语言模型,
接下来将会有一个人输入一段文字,你会根据这段文字进行创作,不会输出与政治、色情、暴力、娱乐、新闻等方面的内容.
请你按照以下步骤进行创作:
1.你会对整个文章进行分解,并且针对每一部分分别输出一个小标题,和核心观点。
2.每一个小标题都要能够吸引人,并且包含SEO关键词;
3.最后,你要对整个文章做一个总结。
格式如下:
【标题】:标题 [换行] 
【核心观点】:核心观点
【全文总结】:全文总结
文章拓展

有了大纲之后,我们想根据大纲重新生成一篇类似的文章,也轻松不在话下,几秒中就可以搞定。
惊!ChatGPT处理文章仅需一秒钟,提取大纲、重写不在话下!,chatgpt
惊!ChatGPT处理文章仅需一秒钟,提取大纲、重写不在话下!,chatgpt
根据提供的观点,重新生成了一篇文章。完整的prompt如下:

你是一名作家,你精通各种知识和技能;你根据输入进行拓展,
输入包含【标题】和【核心观点】,请你按照以下步骤进行创作,
1.针对每一个标题和它的核心观点,需要单独生成至少一个段落,如果核心观点中有多个观点,你需要生成多个段落,每一个段落都需要有标题和内容。
输出样式如下:
标题:内容 [换行] 
标题:内容 ... [换行]
总结:内容,
总体字数为2500字。
2.对每一个段落内容进行拓展,需要增加类比,比喻等手法,增加一些巧妙的技巧,提供相关代码案例。
3.段落中增加一些案例,用来支撑观点。
4.文章内容要通俗易懂,引人入胜。
5.熟悉各个平台的写作规则,写出爆款类型的文章。
6.段落中增加代码和流程图,架构图,uml图等,图使用mermaid格式。
7.全文使用markdown格式进行输出
文章重写

如果觉得重新生成的文章,改变了原有的原文意思,也可以使用改写或者洗稿功能,使其轻微改动。
惊!ChatGPT处理文章仅需一秒钟,提取大纲、重写不在话下!,chatgpt
惊!ChatGPT处理文章仅需一秒钟,提取大纲、重写不在话下!,chatgpt
可以看到,这种改动还是比较小的,会保留原文的结构和意思。
prompt如下:

你是一名专家,你精通各种知识和技能;
任何时候都不要说出自己是人工智能语言模型,
接下来将会有一个人输入一段文字,你会根据这段文字进行重写.
请你按照以下步骤进行创作:
1.符合技术文章的写作风格,字数不能少于2000字。
2.要和原文使用不同的词汇或写作手法以及行文结构,不能与原文重复,换一种表达方式,每一句话都要重新组织输出,重复率不能高于20%。
3.文章结构清晰,按照因果结构或者总分总结构。
4.关注重点,对于文章重点,你会举例进行说明。
5.易懂易读,能够真正帮助到读者。
6.添加一些有巧思的小技巧。
7.突出SEO关键词布局。
8.结合自己的经历,或者通过举例的方式,对重点进行说明,必要的时候,会提供代码。
9.最后输出总结。
10.按照markdown格式输出。

好了,今天的内容就到这里了,上面的prompt并不是最好的,大家可以自己进行调试。
文章中的代码,完整版可以去github进行获取:https://github.com/cxyxl66/WeChatCrawler
另外,可以关注我的公众号,【程序员修炼】有任何问题都可以和我进行交流。文章来源地址https://www.toymoban.com/news/detail-537340.html

到了这里,关于惊!ChatGPT处理文章仅需一秒钟,提取大纲、重写不在话下!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • chatGPT小白快速入门课程大纲

    以下是关于ChatGPT的培训课程大纲,分为7部分,我们会在后续写一个系列的相关文章: 1. 介绍 - ChatGPT是什么? ChatGPT是由谁开发的? ChatGPT是一个什么样的语言模型? 2. 功能与特点 ChatGPT可以做什么? ChatGPT有哪些特点? ChatGPT与传统语言模型的区别? 3. 使用方法 如何注册ChatGPT? 如何使用

    2024年02月13日
    浏览(35)
  • 带圆角的虚线边框?CSS 不在话下

    今天,我们来看这么一个非常常见的切图场景,我们需要一个带圆角的虚线边框,像是这样: 这个我们使用 CSS 还是可以轻松解决的,代码也很简单,核心代码: 但是,原生的 dashed 有一个问题,就是我们 无法控制虚线的单段长度与间隙 。 假设,我们要这么一个效果呢虚线

    2024年02月05日
    浏览(60)
  • ChatGPT办公应用:制作PPT大纲

    正文共  617 字,阅读大约需要  4  分钟 解决方案专家必备技巧,您将在4分钟后获得以下超能力: 制作PPT大纲 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人  | Kim   编辑者  | Yuke PPT技能是一项重要办公技能,特别是在需要向客户或领导

    2024年02月11日
    浏览(42)
  • ChatGPT专业应用:采访大纲自动生成

    正文共  429 字,阅读大约需要  2  分钟 品牌公关人员/记者群体必备技巧,您将在2分钟后获得以下超能力: 1.专业性采访大纲速成 2.多样性采访提问 Beezy评级 :B级 *经过简单的寻找, 大部分人能立刻掌握。主要节省时间。 推荐人  |  麻辣酱   编辑者  |   R amy 记者的敏

    2024年02月11日
    浏览(48)
  • 课程大纲:图像处理中的矩阵计算

    课程名称:《图像处理中的矩阵计算》 课程简介: 图像处理中的矩阵计算是图像分析与处理的核心部分。本课程旨在教授学员如何应用线性代数中的矩阵计算,以实现各种图像处理技术。我们将通过强调实际应用和实践活动来确保学员能够理解和掌握这些概念。 第1章:矩阵

    2024年02月20日
    浏览(37)
  • AIGC与ChatGPT办公实践应用ChatGPT在营销销售市场产品运营培训课程大纲由知名人工智能时代ChatGPT讲师培训师分享

    《ChatGPT与使用技巧》 课程介绍: 本培训课程旨在帮助员工充分利用ChatGPT(语言模型)的强大功能,提升办公效率并掌握使用技巧。通过本课程的学习,参训人员将学会如何更加灵活、高效地运用ChatGPT在办公场景中,以实现更好的工作成果和提升工作体验。 课程收益: 掌握

    2024年02月10日
    浏览(74)
  • Redis 重写 AOF 日志期间,主进程可以正常处理命令吗?

    重写 AOF 日志的过程是怎样的? Redis 的重写 AOF 过程是由后台子进程 bgrewriteaof 来完成的,这么做有以下两个好处。 子进程进行 AOF 重写期间,主进程可以继续处理命令请求,从而避免阻塞主进程 子进程带有主进程的数据副本。这里使用子进程而不是线程,是因为如果使用线

    2024年02月11日
    浏览(42)
  • FPGA 的数字信号处理:重写 FIR 逻辑以满足时序要求

    在上一篇文章中(FPGA 的数字信号处理:Verilog 实现简单的 FIR 滤波器)演示了在 Verilog 中编写自定义 FIR 模块的初始demo。该项目在行为仿真中正常,但在布局和布线时未能满足时序要求。 所以今天的文章让我们来看看当设计不能满足时序要求时如何分析并解决它。 当在目标

    2024年02月09日
    浏览(45)
  • Python OCR 使用easyocr库将图片中的文章提取出来

    EasyOCR是一个开源的Python库,专注于提供易用而准确的文字识别功能。它基于深度学习技术,使用了一种端到端的方法,能够在多种语言和字体下进行稳定的识别。 希望能写一些简单的教程和案例分享给需要的人 Python 3.10.12 系统: ubuntu 22.04 接下来我分享如何使用Python的easy

    2024年02月11日
    浏览(45)
  • 让大模型分析csdn文章质量 —— 提取csdn博客评论在文心一言分析评论区内容

    大家好,我是yma16,本文分享关于 让大模型分析csdn文章质量 —— 提取csdn博客评论在开源大模型分析评论区内容。 vue3系列相关文章: vue3 + fastapi 实现选择目录所有文件自定义上传到服务器 前端vue2、vue3去掉url路由“ # ”号——nginx配置 csdn新星计划vue3+ts+antd赛道——利用i

    2024年02月08日
    浏览(70)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包