2025年11月24日星期一

国芯论坛任务脚本

1.购买服务器阿里云:服务器购买地址https://t.aliyun.com/U/Bg6shY若失效,可用地址

1.购买服务器

阿里云:

服务器购买地址

https://t.aliyun.com/U/Bg6shY

若失效,可用地址

https://www.aliyun.com/daily-act/ecs/activity_selection?source=5176.29345612&userCode=49hts92d

腾讯云:

https://curl.qcloud.com/wJpWmSfU

若失效,可用地址

https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=ad201ee2ef3b771157f72ee5464b1fea&from=console

华为云

https://activity.huaweicloud.com/cps.html?fromacct=64b5cf7cc11b4840bb4ed2ea0b2f4468&utm_source=V1g3MDY4NTY=&utm_medium=cps&utm_campaign=201905

2.部署教程

2024年最新青龙面板跑脚本教程(一)持续更新中

3.代码如下

import requestsfrom bs4 import BeautifulSoupimport osfrom urllib.parse import urljoin
def visit_url_and_sign(base_url, index_url, cookies_str, output_filename="zqlj_sign.html"):    headers = {        "Cookie": cookies_str,        "User-Agent""Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36"    }    print(f"正在访问打卡首页: {index_url}")    try:        response = requests.get(index_url, headers=headers)        print(f"请求状态码: {response.status_code}")
        if response.status_code == 200:            with open(output_filename, "w", encoding="utf-8"as f:                f.write(response.text)            print(f"响应内容已成功缓存到 '{output_filename}'")
            soup = BeautifulSoup(response.text, 'html.parser')            sign_div = soup.find('div', class_='bm signbtn cl')            sign_link_tag = None            if sign_div:                sign_link_tag = sign_div.find('a', class_='btna')
            if sign_link_tag and 'href' in sign_link_tag.attrs:                relative_href = sign_link_tag['href']                full_sign_url = urljoin(base_url, relative_href)                print("\n--- 找到打卡链接 ---")                print(full_sign_url)                print("--------------------\n")
                print(f"请求打卡链接: {full_sign_url}")                sign_response = requests.get(full_sign_url, headers=headers)                print(f"请求状态码: {sign_response.status_code}")
                if sign_response.status_code == 200:                    print("成功请求打卡链接!")                    sign_result_soup = BeautifulSoup(sign_response.text, 'html.parser')                    message_div = sign_result_soup.find('div'id='messagetext')
                    if message_div:                        message_text = message_div.get_text(strip=True# 获取并去除空白字符                        print("\n--- 打卡结果消息 ---")                        print(message_text)                        print("--------------------\n")                    else:                        print("在打卡结果页面中未找到 ID 为 'messagetext' 的 div 元素。请查看")                else:                    print("打卡请求失败。")                    print("\n--- 请求响应内容 ---")                    print(sign_response.text[:500])
            else:                print("未找到 '点击打卡' 链接或其 href 属性。请检查页面内容是否已更新或已打卡。")
        else:            print(f"初始访问失败,状态码为 {response.status_code}。无法进行打卡操作。")            print("\n--- 请求响应内容 ---")            print(response.text[:500])
    except requests.exceptions.RequestException as e:        print(f"请求发生错误: {e}")    except AttributeError:        print("解析HTML时出现错误,未找到目标元素")    except Exception as e:        print(f"发生未知错误: {e}")

if __name__ == "__main__":    base_url = "https://www.stcaimcu.com/"    index_target_url = "https://www.stcaimcu.com/plugin.php?id=zqlj_sign"
    cookies_str = os.getenv('STCAIMCU_Cookies')    print("========== STC论坛签到[开始] ==========")
    if not cookies_str:        print("错误:未找到 'STCAIMCU_Cookies' 环境变量,确保已设置 Secret")    else:        visit_url_and_sign(base_url, index_target_url, cookies_str)
    print("========== STC论坛签到[结束] ==========")
解析

STC论坛自动签到脚本

主要作用

  1. 通过 Cookie 模拟已登录状态

    • 从环境变量 STCAIMCU_Cookies 读取整段 Cookie 字符串。

    • 用这个 Cookie 去访问 STC 论坛的签到页面,模拟已登录用户。

  2. 自动找到签到按钮并发起打卡

    • 先访问签到首页:https://www.stcaimcu.com/plugin.php?id=zqlj_sign

    • 解析 HTML,找到"打卡按钮"的链接(div.bm.signbtn.cl 里的 a.btna)。

    • 拼出完整的签到 URL,然后再发起请求,实现自动"点击打卡"。

  3. 解析打卡结果并打印提示

    • 在打卡结果页面里找 id="messagetext" 的 div,提取里面的文本。

    • 打印出"打卡成功/已打卡/失败"等提示信息,方便在日志中查看。

  4. 支持调试/排查

    • 首次访问签到首页的 HTML 会保存到一个本地文件,例如 zqlj_sign.html,可用于调试页面结构变化。

简单一句话:

"拿 Cookie 去访问 STC 论坛签到页 → 自动点打卡 → 打印打卡结果(并缓存首页 HTML 方便排查)。"

主要函数

1. visit_url_and_sign(base_url, index_url, cookies_str, output_filename="zqlj_sign.html")

这是核心函数,负责完整的访问 + 解析 + 打卡流程

  1. 构造请求头

    • 把传进来的 cookies_str 放到 Cookie 头里;

    • 设置一个常规 PC 浏览器的 User-Agent 伪装正常访问。

  2. 访问签到首页(打卡首页)

    • 把返回的 HTML 存到 output_filename(默认 zqlj_sign.html),方便你本地打开看源码。

    • GET index_url(即插件签到入口页);

    • 打印 HTTP 状态码;

    • 若状态码是 200:

  3. 解析签到按钮

    • 取 href(相对路径),用 urljoin(base_url, relative_href) 拼成完整 URL。

    • div,class 为 bm signbtn cl(签到按钮所在区域);

    • 里面的 a 标签,class 为 btna(真正的"点击打卡"链接)。

    • 用 BeautifulSoup 解析首页 HTML;

    • 查找:

    • 若找到了签到链接:

  4. 发起打卡请求

    • 如果 200:

    • 否则:

    • 再用 BeautifulSoup 解析返回的 HTML;

    • 寻找 id="messagetext" 的 div,取出其中文本(结果提示),打印出来;

    • 打印"打卡请求失败",并截取部分响应内容帮你排查。

    • 用同样的 headers 对完整签到 URL 再发一次 GET

    • 打印状态码:

  5. 异常处理

    • 捕获网络异常(RequestException)并打印;

    • 捕获解析时的 AttributeError(比如页面结构变了)并打印;

    • 捕获其他未知异常并打印。

总结:visit_url_and_sign 就是"用 Cookie 模拟打开签到页 → 找按钮 → 请求打卡链接 → 把结果打印出来"的一条龙函数。

2. 顶层入口 if __name__ == "__main__":

作用:脚本执行入口 + 环境变量读取

  1. 设置:

    • base_url = "https://www.stcaimcu.com/"

    • index_target_url = "https://www.stcaimcu.com/plugin.php?id=zqlj_sign"

  2. 从环境变量中读取:

    • cookies_str = os.getenv('STCAIMCU_Cookies')

  3. 打印开始/结束标记(========== STC论坛签到[开始/结束] ==========),方便在日志中定位。

  4. 逻辑:

    • 调用 visit_url_and_sign(base_url, index_target_url, cookies_str) 执行完整签到流程。

    • 提示"未找到环境变量,请配置 STCAIMCU_Cookies";

    • 如果没读到 Cookie:

    • 如果读到了 Cookie:

这个入口块本质上就是:"从环境取 Cookie → 调核心函数 → 打两行边框表示开始/结束"。


注意

本文部分变量已做脱敏处理,仅用于测试和学习研究,禁止用于商业用途,不能保证其合法性,准确性,完整性和有效性,请根据情况自行判断。技术层面需要提供帮助,可以通过打赏的方式进行探讨。


历史脚本txt文件获取>>
服务器搭建,人工服务咨询>>

没有评论:

发表评论

国芯论坛任务脚本

1.购买服务器阿里云:服务器购买地址https://t.aliyun.com/U/Bg6shY若失效,可用地址 1.购买服务器 阿里云: 服务器购买地址 https : //t.aliyun.com/U/Bg6shY 若失效,可用地址 https ://www.aliyun....