首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python 实现csdn平台自动化定时评论功能实现

Csdn自动化评价功能

前言

之前一段时间,看到一些博主在文章下自动评论,当然我是欢迎大家为我的文章进行评论。我也思考了一下,如果是我来进行开发自动化评价,我要如何操作。

首先,我们需要思考的问题,我们先一个一个的把它们列出来。

1、获取文章,并获取到文章id

2、获取到评价的接口。

3、如何处理重复评价。

4、系统中断如何处理。

正文

一、分析获取文章id

进入csdn,找到文章列表,按F12,分析文章数据返回接口和返回数据。我们提取主要的数据。

然后去获取到我们所需要的接口,详细步骤这里就不说明了。

使用相同的方式,在自己的文章下面发送一条消息,就可以获取到发送评论的接口。

接着,我们来思考一下我们的流程。

二、流程设计

我们可以采取两种方式:

1、获取到文章列表,然后获取到文章id,然后查询是否评论,评论就跳过,没有评论就评论。

优点:不需要储存任何数据,减少操作。

缺点:文章重复查询,重复查询是否评论,效率不高。

2、我们先将获取到的文章列表全部储存到数据库,然后通过获取数据库未评价文章id,进行评价,评价完成之后,标记为已评价,无需查询是否已评价。

优点:效率相对1提高,不会重复查询是否评论。

缺点:需要数据库服务器,需要掌握数据库相关操作。

这里我们采用第二种方式,但我们之前的文章可能有我们评论过的,所以,我们还是需要判断一下是否有评论过,于是我们的流程变了。

三、数据库设计

我们已经设计好流程了,然后来设计数据库字段。

我们需要文章id,文章url,作者,是否评论字段,是否点赞字段,当然你还可以增加其他的一些字段。

我们开始创建表:(防止昵称有表情符号,编码不使用utf8,采用utf8mb4)

这样,我们就创建好了我们的数据表。

四、操作数据库

我们已经建好了数据库,我们现在思考一下,我们需要用到哪些操作。思考方向,始终围绕着增删改查来思考,这样你会更加清楚。

1、增加:插入文章列表数据

2、删除:这里我们用不到

3、修改:未评论更新为已评论

4、查询:查询未评论的文章id,查询该文章列表是否插入过数据库

因此我们编写方法:

五、获取csdn文章数据

我们继续获取csdn文章列表(从排行榜中获取):

这样,我们就获取到数据,并将数据插入到数据库中。

六、查询是否已评论

我们已经从数据拿到数据,需要查询数据是否我们在以前就评论过,因此我们需要做一下判断,需要在header中添加自己的cookie。

整体逻辑:

查询评论列表数据,如果条数小于等于size,如果评论数据中,没有自己的id,则返回false,如果有自己的id则更新数据库,返回true。

如果条数大于size,如果评论数据中,没有自己的id,则进行递归,如果依然没有,返回false,如果有自己的id则更新数据库,返回true。

七、评论

OK,已经做完了装备,然后我们来评论。获取到评论的接口。

这里需要添加自己的cookie。逻辑:调用评论的接口,如果返回成功,则更新数据库状态,如果返回400,找不到文章则更新并跳过。

八、组合评论

我们已经搞定了单个的评论,然后我们组合各个函数,查询数据库,然后进行评论。

逻辑:查询数据库未评论数据,如果返回了数据,则进入循环,如果是黑名单用户文章,则不评论,直接更新,如果不是则查询是否评论,如果没有评论就进行评论。

九、设置定时任务

已经生产了各个函数,但是只能一次一次执行,或者就是写一个循环,那不如写一个定时任务吧。然后我们来进行定时任务的组合。需要用到schedule模块。

十、完整代码

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20211011A0DX5300?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券