旅荐网

您现在的位置是:首页 > 国内旅游目的推荐 > 正文

国内旅游目的推荐

小鱼旅游网任务脚本

admin2026年02月22日 13:22:19国内旅游目的推荐1
小鱼旅游网任务脚本
1.购买服务器

阿里云:

服务器购买地址

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

若失效,可用地址

https://www.aliyun.com/benefit?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 requestsimport jsonimport refrom datetime import datetime# 配置区 - 请替换为你的实际信息CONFIG = {    "username""你的小鱼旅游网账号",  # 手机号/用户名/邮箱    "password""你的小鱼旅游网密码",  # 登录密码    # 请求头:模拟真实浏览器,避免被反爬/风控拦截    "headers": {        "User-Agent""Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",        "Referer""https://www.xiaoyu5.com/",        "Accept""application/json, text/javascript, */*; q=0.01",        "Content-Type""application/x-www-form-urlencoded; charset=UTF-8",        "X-Requested-With""XMLHttpRequest",  # 标识AJAX请求        "Connection""keep-alive"    }}# 核心接口地址(抓包确认的小鱼旅游网专属接口)API_URLS = {    "index""https://www.xiaoyu5.com/",                          # 首页(提取动态参数)    "login""https://www.xiaoyu5.com/user/login",                # 登录接口    "sign""https://www.xiaoyu5.com/user/signIn"                 # 签到接口}def init_session():    """    初始化请求会话    作用:创建带Cookie维护的Session对象,提取首页动态参数(如CSRF令牌)    返回:(session对象, 动态令牌) 或 (None, None)    """    session = requests.Session()    session.headers.update(CONFIG["headers"])    try:        # 访问首页,获取初始化Cookie和动态令牌        response = session.get(API_URLS["index"], timeout=20)        if response.status_code == 200:            print(f"【{datetime.now()}】小鱼旅游网会话初始化成功")            # 提取页面中的CSRF/TOKEN令牌(适配网站防跨站请求机制)            token_match = re.search(r'<meta name="csrf-token" content="(.*?)"', response.text)            token = token_match.group(1if token_match else ""            return session, token        else:            print(f"【{datetime.now()}】会话初始化失败,状态码:{response.status_code}")            return NoneNone    except requests.exceptions.Timeout:        print(f"【{datetime.now()}】会话初始化超时:连接服务器耗时过长")        return NoneNone    except Exception as e:        print(f"【{datetime.now()}】会话初始化异常:{str(e)}")        return NoneNonedef login_to_xiaoyu5(session, token):    """    小鱼旅游网登录函数    参数:初始化后的session对象、动态令牌    返回:登录成功返回session,失败返回None    """    if not session:        print(f"【{datetime.now()}】会话未初始化,无法登录")        return None    # 构造登录参数(包含动态令牌,适配网站风控)    login_data = {        "username": CONFIG["username"],        "password": CONFIG["password"],        "rememberMe""true",  # 记住登录状态        "_token": token        # 动态令牌(防跨站请求)    }    try:        # 发送登录请求(POST方式,AJAX登录)        response = session.post(            url=API_URLS["login"],            data=login_data,            timeout=20        )        # 解析JSON响应(网站登录返回标准JSON)        login_result = response.json()        if login_result.get("code") == 200 or login_result.get("success"is True:            print(f"【{datetime.now()}】小鱼旅游网登录成功!{login_result.get('msg''登录成功')}")            return session        else:            error_msg = login_result.get("msg""账号或密码错误")            print(f"【{datetime.now()}】登录失败:{error_msg}")            return None    except json.JSONDecodeError:        print(f"【{datetime.now()}】登录响应解析失败,原始响应:{response.text[:200]}")        return None    except requests.exceptions.Timeout:        print(f"【{datetime.now()}】登录请求超时:服务器未及时响应")        return None    except Exception as e:        print(f"【{datetime.now()}】登录异常:{str(e)}")        return Nonedef execute_sign(session):    """    执行小鱼旅游网签到操作    参数:登录成功后的session对象    返回:签到成功返回True,失败返回False    """    if not session:        print(f"【{datetime.now()}】未登录,无法执行签到")        return False    try:        # 发送签到请求(AJAX POST请求)        sign_response = session.post(            url=API_URLS["sign"],            timeout=20        )        # 解析签到结果(JSON格式)        sign_result = sign_response.json()        if sign_result.get("code") == 200 or "成功" in sign_result.get("msg"""):            reward = sign_result.get("data", {}).get("reward""未知奖励")            print(f"【{datetime.now()}】签到成功!{sign_result.get('msg')},获得奖励:{reward}")            return True        else:            print(f"【{datetime.now()}】签到失败:{sign_result.get('msg''未知错误')}")            return False    except json.JSONDecodeError:        print(f"【{datetime.now()}】签到响应解析失败,原始响应:{sign_response.text[:200]}")        return False    except requests.exceptions.Timeout:        print(f"【{datetime.now()}】签到请求超时:服务器未及时响应")        return False    except Exception as e:        print(f"【{datetime.now()}】签到异常:{str(e)}")        return Falseif __name__ == "__main__":    """脚本主入口:按流程执行初始化→登录→签到"""    print("===== 小鱼旅游网自动签到脚本 =====")    # 1. 初始化会话(含提取动态令牌)    session, token = init_session()    if not session:        print("会话初始化失败,脚本退出")        exit(1)    # 2. 账号登录    login_session = login_to_xiaoyu5(session, token)    # 3. 执行签到    if login_session:        execute_sign(login_session)    else:        print("登录失败,无法执行签到")    print("===== 脚本执行结束 =====")
解析

该脚本是针对小鱼旅游网定制的自动签到工具,核心作用是替代人工完成 “打开网站→提取动态令牌→输入账号密码登录→执行 AJAX 签到” 的全流程。脚本适配了该网站的风控机制(提取 CSRF 令牌)、AJAX 请求特性和 JSON 响应格式,内置了超时处理、JSON 解析异常捕获等健壮性逻辑,能自动完成身份验证和签到操作,并清晰反馈签到奖励(积分 / 优惠券等),支持结合系统定时任务实现每日自动签到。

主要方法

  • init_session()方法:

  • 核心作用是搭建稳定的请求环境并提取动态安全参数。首先创建requests.Session()对象(自动维护 Cookie),设置模拟浏览器的请求头;然后访问网站首页,不仅获取初始化 Cookie,还通过正则表达式提取页面中的 CSRF/TOKEN 令牌(该网站通过令牌防止跨站请求伪造,是登录的必要参数);同时处理了请求超时、连接异常等问题,返回 “会话对象 + 动态令牌” 的组合,为后续登录做准备。

  • login_to_xiaoyu5(session, token)方法:

  • 作用是完成小鱼旅游网的账号身份验证。该方法接收会话对象和动态令牌,先校验会话有效性;接着构造包含 “账号、密码、记住登录、动态令牌” 的登录参数,向专属登录接口发送 POST 请求(符合网站 AJAX 登录规范);请求完成后解析 JSON 响应,通过code字段(200 为成功)或success字段判断登录状态,登录成功时会话自动保存登录 Cookie,失败时输出具体错误原因(如密码错误);针对 JSON 解析失败、请求超时等异常也做了兜底处理,避免脚本崩溃。

  • execute_sign(session)方法:

  • 作用是执行实际的签到操作。该方法接收登录成功的会话对象,先校验登录状态;然后向签到接口发送 POST 请求(AJAX 方式,无需额外参数,依赖登录 Cookie 和请求头标识);解析 JSON 格式的签到响应,通过code字段或 “成功” 关键词判断结果,同时提取响应中的奖励信息(积分 / 优惠券等)并输出;若解析失败或请求超时,会明确提示异常原因,最终返回布尔值标识签到状态。

  • 主入口(__main__):

  • 作为脚本的启动入口,核心作用是按 “初始化会话(提令牌)→账号登录→执行签到” 的逻辑有序串联所有方法。首先输出脚本启动提示,初始化失败则直接退出;会话成功后携带令牌执行登录,登录成功才触发签到操作,登录失败则明确提示;最后输出脚本结束提示,流程贴合网站的真实访问逻辑,便于调试和维护。

注意

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

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

发表评论

评论列表

  • 这篇文章还没有收到评论,赶紧来抢沙发吧~