鱼C论坛

 找回密码
 立即注册
查看: 4167|回复: 10

[已解决]自动签到要怎么启动?

[复制链接]
发表于 2022-11-10 12:49:22 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 HHJJJY 于 2022-11-10 13:05 编辑

11.jpg 85d5faa3049db6ad14f9bac273060cd.jpg 要怎么操作才可以每天自动签到吖? 纯小白求解!
最佳答案
2022-11-10 12:49:23
看了一下,这个程序应该不会产生标准输出,所有输出会写在同路径下的 sign.log 文件中,您可以看看这个文件的内容来确定签到情况
因此,正常运行的该程序不会输出任何内容,图中的状态应该是预期之内的
不过为了每天自动签到,您需要保证这个脚本保持运行不退出

最佳答案

查看完整内容

看了一下,这个程序应该不会产生标准输出,所有输出会写在同路径下的 sign.log 文件中,您可以看看这个文件的内容来确定签到情况 因此,正常运行的该程序不会输出任何内容,图中的状态应该是预期之内的 不过为了每天自动签到,您需要保证这个脚本保持运行不退出
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-11-10 13:08:05 | 显示全部楼层
  1. '''
  2. Time: 2022/08/18 14:19:21
  3. Author: Yuzhouxing
  4. GitHub: https://github.com/yuzhouxing-git
  5. Project: Fishc
  6. Version: V1.0
  7. File: main.py
  8. Software: python3.7.4
  9. '''

  10. import requests
  11. import re
  12. import hashlib
  13. import time

  14. # 获取formhash的函数
  15. def getFormhash(cookies, headers):
  16.     url = "https://fishc.com.cn/member.php?mod=logging&action=login"
  17.     response = requests.get(url,headers=headers,cookies=cookies)
  18.     if response.status_code == 200:
  19.         response.encoding = "gbk"
  20.         cookies.update(requests.utils.dict_from_cookiejar(response.cookies))
  21.         formhash = re.findall(r'<input type="hidden" name="formhash" value="(.+)" />',response.text)[0]
  22.         return {'code':0,'formhash':formhash,'cookies':cookies}
  23.     else:
  24.         return {'code':1}

  25. # 登录函数
  26. def login(username, password, question, answer, formhash, cookies, headers):
  27.     url = "https://fishc.com.cn/member.php?mod=logging&action=login&loginsubmit=yes&loginhash=LuRQW&inajax=1"
  28.     questionDict = {
  29.         "":"0",
  30.         "母亲的名字":"1",
  31.         "爷爷的名字":"2",
  32.         "父亲出生的城市":"3",
  33.         "您其中一位老师的名字":"4",
  34.         "您个人计算机的型号":"5",
  35.         "您最喜欢的餐馆名称":"6",
  36.         "驾驶执照最后四位数字":"7"
  37.     }

  38.     # md5加密
  39.     md5 = hashlib.md5()
  40.     md5.update(password.encode("utf-8"))
  41.     password = md5.hexdigest()

  42.     # 安全提问处理
  43.     questionid = questionDict[question]

  44.     # post提交数据
  45.     data = {
  46.         "formhash":formhash,
  47.         "referer":"https://fishc.com.cn/",
  48.         "username":username.encode('gbk'),
  49.         "password":password,
  50.         "questionid":questionid,
  51.         "answer":answer.encode("gbk"),
  52.         "cookietime":"2592000"
  53.     }

  54.     response = requests.post(url,headers=headers,data=data,cookies=cookies)
  55.     if response.status_code == 200:
  56.         response.encoding = "gbk"
  57.         cookies.update(requests.utils.dict_from_cookiejar(response.cookies))
  58.         # 判断是否登录成功
  59.         if "欢迎您回来" in response.text:
  60.             return {'code':0,'cookies':cookies}
  61.         else:
  62.             return {'code':1}
  63.     else:
  64.         return {'code':1}

  65. # 签到函数
  66. def sign(formhash, cookies, headers):
  67.     url = "https://fishc.com.cn/plugin.php?id=k_misign:sign&operation=qiandao&format=text&formhash=%s" % formhash
  68.     response = requests.get(url,headers=headers,cookies=cookies)
  69.     if response.status_code == 200:
  70.         response.encoding = "gbk"
  71.         return {'code':0,'text':response.text}
  72.     else:
  73.         return {'code':1}

  74. # 保存日志
  75. def saveLog(msg):
  76.     with open('sign.log','a') as f:
  77.         f.write(time.ctime()+"  "+msg+"\n")

  78. # 主函数
  79. def main(username, password, question, answer):
  80.     # 初始化变量
  81.     cookies = {}
  82.     headers = {
  83.         "User-Agent":"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/103.0.0.0 Safari/537.36"
  84.     }

  85.     # 获取登录formhash
  86.     res = getFormhash(cookies, headers)
  87.     if res['code'] == 0:
  88.         formhash = res['formhash']
  89.         cookies = res['cookies']
  90.     else:
  91.         return username+'登录formhash获取失败'

  92.     # 登录
  93.     res = login(username,password,question,answer,formhash,cookies, headers)
  94.     if res['code'] == 0:
  95.         cookies = res['cookies']
  96.     else:
  97.         return username+'登录失败'

  98.     # 获取签到formhash
  99.     res = getFormhash(cookies, headers)
  100.     if res['code'] == 0:
  101.         formhash = res['formhash']
  102.         cookies = res['cookies']
  103.     else:
  104.         return username+'签到formhash获取失败'

  105.     # 签到
  106.     res = sign(formhash, cookies, headers)
  107.     if res['code'] == 0:
  108.         return username+re.findall(r'<root><!\[CDATA\[(.+)\]\]></root>',res['text'])[0]
  109.     else:
  110.         return username+'签到失败'

  111. # 用户名和密码设置
  112. username = "用户名"
  113. password = "密码"
  114. # 安全提问的名称,无安全提问可设置为空
  115. question = ""
  116. # 安全提问的答案,无安全提问可设置为空
  117. answer = ""
  118. # 开始循环
  119. while True:
  120.     # 签到并保存日志
  121.     saveLog(main(username,password,question,answer))
  122.     # 暂停一天
  123.     time.sleep(60*60*24)
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-11-10 12:49:23 | 显示全部楼层    本楼为最佳答案   
看了一下,这个程序应该不会产生标准输出,所有输出会写在同路径下的 sign.log 文件中,您可以看看这个文件的内容来确定签到情况
因此,正常运行的该程序不会输出任何内容,图中的状态应该是预期之内的
不过为了每天自动签到,您需要保证这个脚本保持运行不退出

评分

参与人数 1鱼币 +5 收起 理由
HHJJJY + 5

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-11-10 13:01:08 | 显示全部楼层
您的帖子的马赛克是不是没打全?IDLE shell 那边有一组账号信息,如果是真实信息的话建议修改密码并调整图片
另外问题的话建议给一下脚本的完整代码

评分

参与人数 1鱼币 +5 收起 理由
HHJJJY + 5 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-11-10 13:05:50 | 显示全部楼层
dolly_yos2 发表于 2022-11-10 13:01
您的帖子的马赛克是不是没打全?IDLE shell 那边有一组账号信息,如果是真实信息的话建议修改密码并调整图 ...

可以了谢谢
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-11-10 13:06:42 | 显示全部楼层
dolly_yos2 发表于 2022-11-10 13:01
您的帖子的马赛克是不是没打全?IDLE shell 那边有一组账号信息,如果是真实信息的话建议修改密码并调整图 ...

完整代码吗?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-11-10 13:25:38 | 显示全部楼层
你已经运行成功了啊
自动签到需要24小时开着电脑

评分

参与人数 1鱼币 +5 收起 理由
HHJJJY + 5 鱼C有你更精彩^_^

查看全部评分

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-11-10 13:30:54 | 显示全部楼层
你可以将这个代码放到服务器上运行,或者用腾讯云函数调用
不想花钱的话可以把这个代码放到一个旧手机上运行
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-11-10 14:02:29 | 显示全部楼层
又学到了,哈哈哈
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-11-10 16:16:55 From FishC Mobile | 显示全部楼层
临时号 发表于 2022-11-10 13:30
你可以将这个代码放到服务器上运行,或者用腾讯云函数调用
不想花钱的话可以把这个代码放到一个旧手机上运 ...

笔记本不关机就行了吧?
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2022-11-10 22:02:08 | 显示全部楼层
HHJJJY 发表于 2022-11-10 16:16
笔记本不关机就行了吧?

应该可以,你可以试一下,我没试过
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-4-23 05:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表