您好,我是Hellos AI,擅长AI编程、分享AI工具资讯等,立志让更多普通人了解AI、学会AI,利用AI找到人生的第二曲线。
在我前面的文章中已经把爬取reddit帖子的技术难点都分析和解决了,那么接下来就是需要我们来真正的搭建工作流了!
0****1****搭建工作流
总体上来说,我还是把这个功能拆分了3个子模块,有3个子工作流来完成工作,都完成,那么就完成了所有任务!
01俯瞰图
02子工作流1
该工作流主要目的是读取需要爬取的板块名字,然后循环爬取这些板块top榜单、争议榜单的帖子列表;
03子工作流2
这里根据前面获取到的帖子列表,然后从帖子表中查出来,接着获取这些帖子的评论!
04子工作流3
把当前获取到的各个帖子和评论一起打包成一个文件,然后下载到本地,这时,我们就可以用AI来分析,然后找到用户真实的痛点了!
0****2****子工作流1
因为工作流是需要每天、每周、每月执行的,并且他们的执行逻辑大体相同,所以我就把这3个不同功能的工作流合起来了,就是下面的这个子工作流!
01入口
入口就是前面说的我需要每天执行、每周执行、每月执行,那么这里这个工作流就需要有3个入口,如:

不同的触发方式就有不同的一些参数值,所以需要有3个set节点来对这些参数进行赋值,然后再code节点中对他们进行合并,然后再后续节点中就可以直接用code节点中输出的变量!
02查板块
因为板块是配置再数据库中的,所以这里使用到了一个MySQL节点,通过它来查询本地的MySQL数据库的板块列表,如:

03获取榜单列表
再获得了这些板块后,接下来就是通过前一篇文章中列举的网站,通过那些接口来获得该板块的数据,如:https://redlib.catsarch.com/r/popular/top
这里使用http节点来获取它的数据,然后使用code节点来解析html并得到这些帖子数据:

总的来说,这里是分为4个逻辑单元,他们的处理逻辑基本相同,但是承载的任务不一样,例如上面2个,第一个是获取榜单首页帖子列表,第二个是获取榜单第二页的帖子列表;第二行是获取争议榜单首页列表和的第二页列表;


然后就是一些判断,看是否有下一页等,接着就是把帖子列表进行merge,交给后续节点进行处理!
04筛选、剔重
接收到merge节点的数据后,需要对里面那种低点赞、低评论数的帖子进行过滤,当然也有一些帖子解析后出现在多个榜单中,这些数据都需要进行剔重和处理,所以这里就有这样的一些节点来完成这些工作。
05入库
帖子经过处理后,接下来就可以对他们进行入库了。。这里把他们都保存到posts表里面然后置初始状态,方便后续进行查询。
06更新板块时间
这快的逻辑倒是不是那么重要了,它的主要目的是让我看到当前这些板块啥时候执行过了,没有其他的目的了!

注:在当前这个子工作流中,我用到了多个wait节点,这个节点主要作用是避免我被这个第三方reddit网站限流,因为毕竟这种榜单数据爬取还算是比较频繁和量比较大的!
0****3****子工作流2
在上面帖子爬取完毕后,接下来就是获取各帖子的评论了!
01俯瞰图这里。
这个子工作流的任务就比上面那个纯粹和简单多了,根据前面工作流中帖子的评论链接,直接打开,然后解析html,入库就完事了!
02入口
这里我是把这3个入口同样的也放到了这里,因为帖子爬取后,评论也是需要进行爬取的!
03获取无评论帖子
这里通过mysql节点查询帖子表,然后获得所有今天爬取并且未爬取评论的帖子的列表,如:

当然,这里还对数量进行了限制(不过先对数据进行了排序,优先取帖子点赞数、评论数比较多的那些帖子)
04获取评论
这里在循环中通过http接口来获取评论,然后使用code节点来解析这些评论数据,最后把他们入库到comments表中:



05获更新状态
在循环结束之后,需要对这个帖子的状态进行更新,这样避免后续重复对该帖子进行拉取!
0****4****子工作流3
这里就更加简单了,直接把帖子查出来,然后写入到csv文件即可,没有任何复杂逻辑!
01俯瞰图
02功能说明
这里同样还是有3个入口,触发后可以每日、每周、每月执行,然后合并参数,接着就是查询数据库中的帖子,拼接评论数据!生成文件并落盘!
0****5****写在最后
好了,到了这里,这个工作流就介绍完了!触发它执行执行完毕后会生成一个csv数据文件,下一篇文章,我会详细介绍如何从csv中分析并获取需求!
另欢迎大家来我的个人博客网站https://hellosai.cc/逛逛!关注杰哥不迷路,每天给你分享不一样的实用好工具。
免责声明:本公众号分享的内容以及软件等来自互联网,仅供大家学习交流,同时请遵守你当地的法律法规,否则造成的一切后果自负,与本公众号无关。如有侵权联删!部分知识难免有时效性,若内容过期失效,请见谅,感谢!
******喜欢这篇干货?如果觉得不错,请帮我一键三连,转发给您的朋友,都是对我最大的鼓励与认可。如果想第一时间收到推送,可以把我的公众号加个星标🌟方便后面我们一起探讨AI或有意思的东西,还能够快速找到我!我们明天见!—END—图 | 来源网络侵删欢迎点赞,在看,转发给我鼓励~***👇👇关注我👇👇
👇👇扫码加入粉丝群领取福利👇👇