首页
壁纸
统计
友联
留言
Search
1
飞牛NAS社区自动打卡签到
25 阅读
2
飞牛NAS部署宝塔面板
16 阅读
3
飞牛NAS通过Docker方式部署宝塔面板
11 阅读
4
Python安装教程
11 阅读
5
Debain终端语言报错问题解决办法
11 阅读
飞牛NAS社区自动打卡签到
飞牛Nas
青龙面板
编程开发
Python
Java
Go
PHP
JavaScript
Typecho
系统问题
Linux
Windows
Debain
Deepin
资源分享
登录
/
注册
Search
标签搜索
飞牛NAS
Python
宝塔面板
PHP
函数
Linux
Docker
青龙面板
JavaScript
Typecho
伪静态
Nginx
Debain
123云盘
123Pan
资源
Deepin
1Panel
Windows
Xbox Game Bar
AiWeiYi
累计撰写 14 篇文章
累计收到 1 条评论
首页
栏目
飞牛Nas
青龙面板
编程开发
Python
Java
Go
PHP
JavaScript
Typecho
系统问题
Linux
Windows
Debain
Deepin
资源分享
页面
壁纸
统计
友联
留言
首页
/
飞牛Nas
/
正文
飞牛Nas
青龙面板
飞牛NAS社区自动打卡签到
2874992246
2025-03-27
/
0 评论
/
25 阅读
/
正在检测是否收录...
03/27
温馨提示:
本文最后更新于2025年03月27日,已超过213天没有更新,若内容或图片失效,请留言反馈。
一、浏览器打开飞牛社区并登录,复制cookie运行以下代码自动获取import re
import json
# 输入的cookie字符串
cookie_string = """
"""
# 使用正则表达式提取pvRK_2132_saltkey和pvRK_2132_auth
saltkey_pattern = r"pvRK_2132_saltkey=([a-zA-Z0-9]+)"
auth_pattern = r"pvRK_2132_auth=([a-zA-Z0-9%/]+)"
saltkey_match = re.search(saltkey_pattern, cookie_string)
auth_match = re.search(auth_pattern, cookie_string)
# 提取并输出结果
if saltkey_match and auth_match:
cookies = {
'pvRK_2132_saltkey': saltkey_match.group(1),
'pvRK_2132_auth': auth_match.group(1)
}
print("cookies =", json.dumps(cookies, indent=4))
else:
print("没有找到匹配的值!")二、青龙面板Python脚本import requests
from bs4 import BeautifulSoup
import smtplib
from email.mime.text import MIMEText
from email.header import Header
from email.utils import formataddr
# 填写对应的 Cookie 值
cookies = {
"pvRK_2132_saltkey": "xxx",
"pvRK_2132_auth": "xxx"
}
# SMTP 邮件服务配置
push_config = {
'SMTP_SERVER': 'smtp.qq.com:465', # SMTP 发送邮件服务器,形如 smtp.exmail.qq.com:465
'SMTP_SSL': 'true', # SMTP 发送邮件服务器是否使用 SSL,填写 true 或 false
'SMTP_EMAIL': 'xxx@qq.com', # SMTP 发件邮箱
'SMTP_PASSWORD': 'xxxxx', # SMTP 登录密码,也可能为特殊口令,视具体邮件服务商说明而定
'SMTP_NAME': '青龙面板 - 飞牛社区自动打卡', # SMTP 收发件人姓名,可随意填写
'SMTP_TO': 'xxx@qq.com', # SMTP 接收邮件邮箱
}
def sign_in():
try:
# 签到请求链接右键打卡按钮直接复制替换
response = requests.get('签到请求链接右键打卡按钮直接复制替换', cookies=cookies)
if '恭喜您,打卡成功!' in response.text:
print('签到详情(打卡成功):\n')
get_sign_in_info()
elif '您今天已经打过卡了,请勿重复操作!' in response.text:
print('签到详情(已经打过卡了):\n')
get_sign_in_info()
else:
print('打卡失败, cookies可能已经过期或站点更新.')
smtp(title='飞牛社区自动签到(打卡失败)', content='cookies可能已经过期或站点更新.') # 发送邮件
except Exception as error:
print('签到请求失败:', error)
smtp(title='飞牛社区自动签到(请求失败)', content=str(error)) # 发送邮件
def get_sign_in_info():
try:
response = requests.get('https://club.fnnas.com/plugin.php?id=zqlj_sign&sign=f5da4016', cookies=cookies)
soup = BeautifulSoup(response.text, 'html.parser')
content = []
# 定义需要查找的模式和选择器
patterns = [
{'name': '最近打卡', 'selector': 'li:-soup-contains("最近打卡")'},
{'name': '本月打卡', 'selector': 'li:-soup-contains("本月打卡")'},
{'name': '连续打卡', 'selector': 'li:-soup-contains("连续打卡")'},
{'name': '累计打卡', 'selector': 'li:-soup-contains("累计打卡")'},
{'name': '累计奖励', 'selector': 'li:-soup-contains("累计奖励")'},
{'name': '最近奖励', 'selector': 'li:-soup-contains("最近奖励")'},
{'name': '当前打卡等级', 'selector': 'li:-soup-contains("当前打卡等级")'}
]
for pattern in patterns:
element = soup.select_one(pattern['selector'])
if element:
# 提取文本并清洗
text = element.get_text()
content.append(f"{pattern['name']}: {text.split(':')[-1].strip()}")
content_text = '\n'.join(content)
print(content_text + '\n')
smtp(title='飞牛社区自动签到(成功)', content=str(content_text)) # 发送邮件
except Exception as error:
print('获取打卡信息失败:', error)
smtp(title='飞牛社区自动签到(获取打卡信息失败)', content=str(error)) # 发送邮件
def smtp(title: str, content: str):
"""
使用 SMTP 邮件 推送消息。
"""
if (
not push_config.get("SMTP_SERVER")
or not push_config.get("SMTP_SSL")
or not push_config.get("SMTP_EMAIL")
or not push_config.get("SMTP_PASSWORD")
or not push_config.get("SMTP_NAME")
):
print("SMTP 邮件 的 SMTP_SERVER 或者 SMTP_SSL 或者 SMTP_EMAIL 或者 SMTP_PASSWORD 或者 SMTP_NAME 未设置!!\n取消推送")
return
print("SMTP 邮件 服务启动")
message = MIMEText(content, "plain", "utf-8")
message["From"] = formataddr(
(
Header(push_config.get("SMTP_NAME"), "utf-8").encode(),
push_config.get("SMTP_EMAIL"),
)
)
message["To"] = formataddr(
(
Header(push_config.get("SMTP_NAME"), "utf-8").encode(),
push_config.get("SMTP_TO"),
)
)
message["Subject"] = Header(title, "utf-8")
try:
smtp_server = (
smtplib.SMTP_SSL(push_config.get("SMTP_SERVER"))
if push_config.get("SMTP_SSL") == "true"
else smtplib.SMTP(push_config.get("SMTP_SERVER"))
)
smtp_server.login(
push_config.get("SMTP_EMAIL"), push_config.get("SMTP_PASSWORD")
)
smtp_server.sendmail(
push_config.get("SMTP_EMAIL"),
push_config.get("SMTP_EMAIL"),
message.as_bytes(),
)
smtp_server.close()
print("SMTP 邮件 推送成功!")
except Exception as e:
print(f"SMTP 邮件 推送失败!{e}")
if __name__ == '__main__':
sign_in()
0
飞牛NAS青龙面板Python
版权属于:
2874992246
本文链接:
https://www.iwynet.cn/article/16.html
作品采用:
《
署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0)
》许可协议授权
相关推荐
Python安装教程
Python文件批量修改
飞牛NAS通过Docker方式部署宝塔面板
飞牛NAS部署宝塔面板
上一篇 下一篇
评论 (0)
画图模式
文本模式
细
中
粗
取消
发送评论
AiWeiYi
14
文章数
1
评论量
人生倒计时
标签云
舔狗日记
桂ICP备2024019036号-3
已运行 00 天 00 时 00 分 00 秒
RSS
MAP