[掘金社区]自动签到脚本

直接上脚本
脚本临时写的,今天是运行的第一天,虽然报错编码,但是签到、抽奖都成功了。
下面是修改了之后的版本。

# -*- coding: utf-8 -*-
import requests
import logginglogging.basicConfig(level=logging.INFO)def check_sign_in_status(base_url,headers):api = "get_today_status"url = base_url+ apiresponse = requests.get(url, headers=headers)if response.status_code == 200:data = response.json()if data['err_no'] == 0:if data['data'] is True:logging.info("【签到状态】%s","已签到")#print("今天已经签到过了!")return Trueelif data['data'] is False:logging.info("【签到状态】%s","未签到")#print("未签到,可以继续执行签到操作!")return Falseelse:logging.info("【签到状态】%s","未登录,请登录")#print("未登录,请先登录!")passreturn Falseelse:logging.error("【请求失败】%s",response.status_code)#print(f"请求失败,状态码:{response.status_code}")return Falsedef sign_in(base_url,aid,uuid,spider,msToken,a_bogus,headers):api = "check_in"url = base_url+ api + "?aid=" + aid + "&uuid=" + uuid + "&spider=" + spider + "&msToken=" + msToken + "&a_bogus=" + a_bogusresponse = requests.post(url, headers=headers)if response.status_code == 200:try:data = response.json()if data['err_no'] == 0 and data['err_msg'] == "success":logging.info("【签到功能】%s",data['err_msg'])return Falseelse:logging.info("【签到功能】%s",data['err_msg'])except requests.JSONDecodeError:logging.error("【签到功能】服务器返回的数据无法解析为JSON格式。")return Falsedef get_points(base_url,headers):# 这里应该是获取当前积分的逻辑api = "get_cur_point"url = base_url+ apiresponse = requests.get(url, headers=headers)if response.status_code == 200:try:data = response.json()if data['err_no'] == 0 and data['err_msg'] == "success":logging.info("【矿石余额】%s",data['data'])except requests.JSONDecodeError:logging.error("【获取余额功能】服务器返回的数据无法解析为JSON格式。")return Falsedef get_free(base_url,aid,uuid,spider,msToken,a_bogus,headers):#获取免费次数api = "lottery_config/get"url = base_url+ api + "?aid=" + aid + "&uuid=" + uuid + "&spider=" + spider + "&msToken=" + msToken + "&a_bogus=" + a_bogusresponse = requests.get(url, headers=headers)if response.status_code == 200:try:data = response.json()if data['err_no'] == 0 and data['err_msg'] == "success":if data['data']['free_count'] > 0 :# print("免费抽奖次数:",data['data']['free_count'])logging.info("【免费抽奖次数】%s",data['data']['free_count'])return Trueelse:logging.info("【免费抽奖次数】%s",data['data']['free_count'])#print("免费抽奖次数:",data['data']['free_count'])return Falseexcept requests.JSONDecodeError:logging.error("【获取免费抽奖次数功能】服务器返回的数据无法解析为JSON格式。")return Falsedef draw(base_url,aid,uuid,spider,msToken,a_bogus,headers):api = "lottery/draw"url = base_url+ api + "?aid=" + aid + "&uuid=" + uuid + "&spider=" + spider + "&msToken=" + msToken + "&a_bogus=" + a_bogusdata = '{}'response = requests.post(url, headers=headers,data=data)if response.status_code == 200:try:data = response.json()if data['err_no'] == 0 and data['err_msg'] == "success":logging.info("【奖品】%s",data['data']['lottery_name'])#print("奖品:",data['data']['lottery_name'])except requests.JSONDecodeError:logging.error("【抽奖功能】服务器返回的数据无法解析为JSON格式。")return Falsecookie = '你的cookie值'
aid = "你的aid值"
uuid = "你的uuid值"
spider = "你的spider值"
msToken = "你的msToken值"
a_bogus = "你的a_bogus值"
base_url="https://api.juejin.cn/growth_api/v1/"
# 在这里填入实际的headers
header1 = {'Cookie':cookie,'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; ) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.6478.61 Chrome/126.0.6478.61 Not/A)Brand/8  Safari/537.36'
}#检查是否签到
if check_sign_in_status(base_url,header1):#已经签到-查看免费抽奖次数-存在则抽奖-最后查询余额if get_free(base_url,aid,uuid,spider,msToken,a_bogus,header1):#抽奖draw(base_url,aid,uuid,spider,msToken,a_bogus,header1)passelse:passget_points(base_url,header1)
else:#未签到-则签到-签完查免费抽奖次数-抽奖-最后查询余额sign_in(base_url,aid,uuid,spider,msToken,a_bogus,header1)if get_free(base_url,aid,uuid,spider,msToken,a_bogus,header1):#抽奖draw(base_url,aid,uuid,spider,msToken,a_bogus,header1)passelse:passget_points(base_url,header1)

脚本中所需要的值都可以登录后的网络请求中获取,其中mstoken和a_bogus的值必须存在,不然页面会返回空值。 aid,uuid在cookie中都有体现。
其中uuid的值为cookie中的 user_unique_id

效果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

然后采用crontab做个定时任务
在这里插入图片描述
效果
在这里插入图片描述
我这里直接采用了宝塔执行。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/403311.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Clobbering DOM attributes to bypass HTML filters

目录 寻找注入点 代码分析 payload构造 注入结果 寻找注入点 DOM破坏肯定是出现在js文件中,我们首先来看源码 /resources/labheader/js/labHeader.js这个源码没什么问题我们重点关注在下面两个源码上 /resources/js/loadCommentsWithHtmlJanitor.js这个源码中重…

STM32cubeMX配置Systick的bug

STM32cubeMX版本:6.11.0 现象 STM32cubeMX配置Systick的时钟,不管选择不分频 还是8分频。 生成的代码都是一样的,代码都是不分频。 即不管选择不分频还是8分频,Systick都是使用的系统时钟 函数调用 HAL_Init() → HAL_Init…

HarmonyOS开发案例:列表场景实例-TaskPool

介绍 本实例通过列表场景实例讲解,介绍在TaskPool线程中操作关系型数据库的方法,涵盖单条插入、批量插入、删除和查询操作。 效果图预览 使用说明 进入页面有insert(单条数据插入)、batch insert(批量数据插入)、query(查询操作)三个按钮,…

【安卓】播放多媒体文件

文章目录 播放音频播放视频 播放音频 在Android中播放音频文件一般是使用MediaPlayer类实现的,它对多种格式的音频文件提供了非常全面的控制方法,从而使播放音乐的工作变得十分简单。 MediaPlayer类中常用的控制方法。 常用方法名描述setDataSource()设…

使用html+css+js实现完整的登录注册页面

在这篇博客中,我们将讨论如何使用简单的 HTML 和 CSS 构建一个登录与注册页面。这个页面包含两个主要部分:登录界面和注册界面。我们还会展示如何通过 JavaScript 切换这两个部分的显示状态。 页面结构 我们将创建一个页面,其中包含两个主要…

CSS3-新特性

1.新增选择器 1.属性选择器 2.结构伪类选择器 3.伪元素选择器(重点) 4.CSS3 盒子模型 2.CSS3滤镜filter 3.CSS3 calc 函数 4.CSS3 过渡(重点)

95后医疗行业女性转型记:如何成功踏入人工智能项目管理领域

分享目录 一、自我介绍,给大家分享一下拿到offer的心情吧 二、在整个求职转型陪跑营里,你收获最大的三个点是什么? 三、求职转行过程中,你遇到了哪些困难?七芊老师和强哥是怎么帮助你的?你是怎么走过来的…

seata的使用(SpringBoot项目整合seata)

文章目录 1、解压 seata-server-1.7.1.zip2、启动 双击 seata-server.bat3、启动 seata 控制台用户界面4、所有分布式事务相关数据库要有undo-log5、项目引入seata依赖6、项目添加seata配置7、代码实现: 1、解压 seata-server-1.7.1.zip 2、启动 双击 seata-server.…

Polars简明基础教程十二:可视化(二)

设置绘图后端 我们可以使用 hv.extension 更改绘图后端。但是,我们不在此处运行此单元格,因为它会导致下面的 Matplotlib/Seaborn 图表无法渲染。 注释: hvPlot 利用 HoloViews 库来构建图表,并且可以使用多个后端进行渲染&…

微信小程序骨架屏

骨架屏是常用的一种优化方案,针对于页面还未加载完时给用户的一种反馈方式。如果自己要写骨架屏有点复杂因为页面的元素过多且不稳定,这边直接使用微信开发工具生成骨架屏。也不只有微信开发工具有像常用的抖音开发工具,字节开发工具都有对应…

使用MicroApp重构旧项目

前言 随着技术的飞速发展,我们公司内部一个基于“上古神器” jQuery PHP 构建的十年历史老项目已显力不从心,技术非常老旧且维护成本高昂,其实已经无数次想要重构,但是苦于历史遗留原因以及业务的稳定性而一直难以下手&#xff0…

Tomcat的核心文件讲解

参考视频&#xff1a;对应视频 server.xml中的以下部分可修改&#xff1a; 1.connector标签里的port可以修改。--修改端口号 Tomcat默认端口号&#xff1a;8080 <Connector connectionTimeout"20000" maxParameterCount"1000"port"8080" prot…

调研-音视频

音视频 基础概念主要内容音频基础概念音频量化过程音频压缩技术视频基础概念视频bug视频编码H264视频像素格式YUVRGB参考文献基础概念 ● 实时音视频应用环节 ○ 采集、编码、前后处理、传输、解码、缓冲、渲染等很多环节。 主要内容 音频 基础概念 三要素:音调(音频)、…

算法的学习笔记—链表中倒数第 K 个结点(牛客JZ22)

&#x1f600;前言 在编程过程中&#xff0c;链表是一种常见的数据结构&#xff0c;它能够高效地进行插入和删除操作。然而&#xff0c;遍历链表并找到特定节点是一个典型的挑战&#xff0c;尤其是当我们需要找到链表中倒数第 K 个节点时。本文将详细介绍如何使用双指针技术来解…

8.16 day bug

bug1 题目没看仔细 额外知识 在 Bash shell 中&#xff0c;! 符号用于历史扩展功能。当你在命令行中输入 ! 后跟一些文本时&#xff0c;Bash 会尝试从你的命令历史中查找与该文本相匹配的命令。这是一种快速重用之前执行过的命令的方法。 如何使用历史扩展 基本用法: !strin…

利用亚马逊云科技Bedrock和LangChain开发AI驱动数据分析平台

项目简介&#xff1a; 小李哥将继续每天介绍一个基于亚马逊云科技AWS云计算平台的全球前沿AI技术解决方案&#xff0c;帮助大家快速了解国际上最热门的云计算平台亚马逊云科技AWS AI最佳实践&#xff0c;并应用到自己的日常工作里。 本次介绍的是如何在亚马逊云科技上SageMak…

一次现网redis CPU使用率异常定位

背景 618大促前&#xff0c;运维对系统做巡检时发现redis cpu利用率白天基本保持在72%左右&#xff0c;夜里也在60%以上。担心618流量比平时大&#xff0c;导致redis超负荷&#xff0c;因此找开发进行优化&#xff0c;降低redis的负载。 定位思路 其实资源使用率过高定位都…

Taro+Vue 创建微信小程序

TaroVue 创建微信小程序 一、全局安装 tarojs/cli二、项目初始化三、现在去启动项目吧 一、全局安装 tarojs/cli npm install -g tarojs/cli //安装 npm info tarojs/cli //查看安装信息 如果正常显示版本说明成功了&#xff0c;就直接跳到第二步吧官网说&#xff1a;…

Unity引擎基础知识

目录 Unity基础知识概要 1. 创建工程 2. 工程目录介绍 3. Unity界面和五大面板 4. 游戏物体创建与操作 5. 场景和层管理 6. 组件系统 7. 脚本语言C# 8. 物理引擎和UI系统 学习资源推荐 Unity引擎中如何优化大型游戏项目的性能&#xff1f; Unity C#脚本语言的高级编…