用Python实现一个CSDN自动三连工具

简介: 用Python实现一个CSDN自动三连工具

对于CSDN自动三连工具,大佬小小明很早就实现了一个 GUI 版本的工具,具体页面如下

从界面就可以看出,这款工具还是非常强大而且功能也相当齐全了,喜欢的朋友可以去小明哥的CSDN上查找哈。

工具虽好,不过还是有一个缺点,就是不方便每天自动化运行,那么今天我们就来实现一款可以每天自动运行的三连工具

实现思路

如果把工具实现成 GUI 的形式,类似上面的做法,确实方便用户使用了,但是却不利于自动运行,所以我们可以实现成后台应用的形式,比如直接编写代码调用相关接口,然后使用 crontab 来做定时运行

于是我们可以完成如下的代码构造

class CSDN:
    def __init__(self):
        ...
    def getHotRank(self):
        ...
    def likePost(self, articleId):
        ...
    def buryPost(self, articleId):
        ...
    def favoritePost(self, details, articleId):
        ...
    def submitPost(self, articleId, comment):
        ...
    def followPost(self):
        ...

首先是从热榜中获取相关文章信息,然后就是进行点赞,收藏,留言和关注的操作了

接口请求

我们首先在 CSDN 热榜页面进行抓包,通过 F12 可以非常方便 看到热榜的相关请求如下

"https://blog.csdn.net/phoenix/web/blog/hot-rank?page=0&pageSize=25&type="

那么获取热榜数据的代码如下

def getHotRank(self):
    HotRankUrl = config.Hot_Rank
    hot_rank = requests.get(HotRankUrl, headers=self.headers)
    return hot_rank.json()

就是最简单的 request 请求,当时这里的 headers 我们是在构造函数中定义的,且 headers 中包含你登录的 cookie 信息

接下来我们通过同样的方式,分别抓取 like,submit 和 favorite 记忆 follow 接口

下面我们只给出 favorite 的代码,其余代码大家可以自行完成

def favoritePost(self, details, articleId):
    fav_userName = self.cookie.split("UserName=")[-1].split(";")[0]
    articleTitle = details["articleTitle"]
    articleDetailUrl = details["articleDetailUrl"]
    userName = details["userName"]
    self.favorite_json["username"] = fav_userName
    self.favorite_json["author"] = userName
    self.favorite_json["url"] = articleDetailUrl
    self.favorite_json["title"] = articleTitle
    self.favorite_json["sourceId"] = articleId
    favUrl = config.Favorite_Post
    payload = json.dumps(self.favorite_json)
    headers = self.headers
    headers['Content-Type'] = 'application/json'
    favoritepost = requests.post(favUrl, headers=headers, data=payload)
    print(favoritepost.json())

最后,我们完成整个脚本的调用

if __name__ == '__main__':
    csdn = CSDN()
    data = csdn.getHotRank()
    details_list = data["data"]
    with open("comment.txt", "r") as f:
        comment = f.readlines()
    for i in details_list:
        num_items = len(comment)
        random_index = random.randrange(num_items)
        random_comment = comment[random_index]
        articleId = i["productId"]
        csdn.likePost(articleId)
        csdn.favoritePost(i, articleId)
        csdn.submitPost(articleId, random_comment)
        random_time = random.randint(1, 30)
        time.sleep(random_time)

这里我们提前准备好了留言的模板文件,然后随机从文件中选择一条留言信息进行请求操作

定时运行

最后我们把整个脚本部署到自己的 Linux 服务器上,萝卜哥这里使用的是阿里云,当前其他的腾讯云,华为云等都是类似的

我们先登录云服务器,我这里用的工具是 MobaX

然后直接设置 crontab 文件即可

我这里设置了每天5点定时执行该脚本,现在再也不用每天打开上面的 GUI 软件来手工执行了,舒服!

好了,这就是今天分享的全部内容,喜欢就点个吧~

相关文章
|
1月前
|
存储 缓存 测试技术
理解Python装饰器:简化代码的强大工具
理解Python装饰器:简化代码的强大工具
|
2月前
|
程序员 测试技术 开发者
Python装饰器:简化代码的强大工具
Python装饰器:简化代码的强大工具
177 92
|
1月前
|
机器学习/深度学习 编解码 Python
Python图片上采样工具 - RealESRGANer
Real-ESRGAN基于深度学习实现图像超分辨率放大,有效改善传统PIL缩放的模糊问题。支持多种模型版本,推荐使用魔搭社区提供的预训练模型,适用于将小图高质量放大至大图,放大倍率越低效果越佳。
161 3
|
2月前
|
人工智能 自然语言处理 安全
Python构建MCP服务器:从工具封装到AI集成的全流程实践
MCP协议为AI提供标准化工具调用接口,助力模型高效操作现实世界。
520 1
|
1月前
|
算法 安全 数据安全/隐私保护
Python随机数函数全解析:5个核心工具的实战指南
Python的random模块不仅包含基础的随机数生成函数,还提供了如randint()、choice()、shuffle()和sample()等实用工具,适用于游戏开发、密码学、统计模拟等多个领域。本文深入解析这些函数的用法、底层原理及最佳实践,帮助开发者高效利用随机数,提升代码质量与安全性。
232 0
|
2月前
|
API 数据安全/隐私保护 Python
拼多多批量上架软件, 电商一键上货发布工具,python电商框架分享
多线程批量上传架构,支持并发处理商品数据 完整的拼多多API签名和token管理机制
|
2月前
|
安全 API 数据安全/隐私保护
|
2月前
|
Java API 数据安全/隐私保护
淘宝一键上货发布软件,淘宝批量发布上架工具, 淘宝批量上架脚本【python】
这个Python脚本实现了以下功能: 完整的淘宝API调用封装
|
2月前
|
机器人 数据安全/隐私保护 Python
淘宝批量发货发布工具, 淘宝批量上传商品软件, 淘宝批量上架软件【python】
使用Selenium实现自动化操作淘宝卖家后台 支持三种核心功能
|
2月前
|
Linux 数据安全/隐私保护 Python
一键修改电脑机器码, 软件机器码一键修改工具, 机器码重置工具【python】
该工具实现了完整的机器码生成、加密、验证功能 使用系统硬件信息生成唯一机器码

热门文章

最新文章

  • 1
    Python零基础爬取东方财富网股票行情数据指南
    224
  • 2
    解析Python爬虫中的Cookies和Session管理
    167
  • 3
    Python日志模块配置:从print到logging的优雅升级指南
    127
  • 4
    【可视化大屏】全流程讲解用python的pyecharts库实现拖拽可视化大屏的背后原理,简单粗暴!
    93
  • 5
    (Pandas)Python做数据处理必选框架之一!(二):附带案例分析;刨析DataFrame结构和其属性;学会访问具体元素;判断元素是否存在;元素求和、求标准值、方差、去重、删除、排序...
    107
  • 6
    (Pandas)Python做数据处理必选框架之一!(一):介绍Pandas中的两个数据结构;刨析Series:如何访问数据;数据去重、取众数、总和、标准差、方差、平均值等;判断缺失值、获取索引...
    202
  • 7
    (numpy)Python做数据处理必备框架!(二):ndarray切片的使用与运算;常见的ndarray函数:平方根、正余弦、自然对数、指数、幂等运算;统计函数:方差、均值、极差;比较函数...
    75
  • 8
    (numpy)Python做数据处理必备框架!(一):认识numpy;从概念层面开始学习ndarray数组:形状、数组转置、数值范围、矩阵...
    203
  • 9
    (Python基础)新时代语言!一起学习Python吧!(四):dict字典和set类型;切片类型、列表生成式;map和reduce迭代器;filter过滤函数、sorted排序函数;lambda函数
    67
  • 10
    (Python基础)新时代语言!一起学习Python吧!(三):IF条件判断和match匹配;Python中的循环:for...in、while循环;循环操作关键字;Python函数使用方法
    101
  • 推荐镜像

    更多