自动签到--基于cookie实现

文章价值

可以实现自动签到,包括网页端和手机端。跟着我的步骤来,不懂技术的小白也能轻松实现。
给大家看看CSDN的自动签到
CSDN签到

实现思路

通过python调用签到的API,实现签到
就是这么简单粗暴,我看好多文章都是用Selenium模拟浏览器实现,麻烦死了。

前戏准备

  1. 弄台云服务器
    想要实现每天自动签到,云服务器是必需的。我目前用的腾讯云服务器,新用户1核2G一年才95购买链接,24小时不断电可以随便折腾,很赞。
  2. 安装python
    Python是一种动态语言,调用API比较方便,其实别的语言也可以的。不会安装的,这有安装教程python安装
  3. 安装gocorn
    gocorn是使用Go语言开发的开源轻量级定时任务集中调度和管理系统,帮助我们定时执行签到任务。注意:使用云服务器,需要放开web端口。
  4. 安装Fiddler
    Fiddler是Http调试抓包工具,用来抓取浏览器或手机的API请求。这有大佬的使用教程

开始表演

  1. 抓取API
    打开Fiddler,登陆进目标网站,比如CSDN。点击签到,抓取到该请求, 如下图所示:
    filllder
  2. 编写脚本
    先安装requests库,用于发送请求。
pip install requests

编写脚本,上传到云服务器(要以.py结尾)。

import requests
# 目标API地址 上图1标识
URL = "**/sign"
# 请求的cookie 上图2标识
cookies = dict(key='value', key2='value2')
# 如果cookie有很多键值对,可以如下方式赋值
cookies['key'] = 'value'
myreq = requests.session()
requests.utils.add_dict_to_cookiejar(myreq.cookies, cookies)


def submit():
	# post传递的数据 上图3标识
    data = {"key":"value"}
    headers = {'Content-Type': 'application/x-www-form-urlencoded'}
    jg = myreq.post(url=URL, data=data, headers=headers)
    return jg.text


if __name__ == '__main__':
    res = submit()
    print(res)
  1. 添加定时任务
    启动并登陆gocorn系统,新增任务节点。
    任务节点新增
    添加定时任务
    添加定时任务
  2. 享受白嫖
    到这里,自动签到就完成了,可以享受签(白)到(嫖)的乐趣了。手机APP自动签到,其实原理一样,都是通过Fiddler抓取到APP的请求,编写脚本来搞定。

总结

这种思路适用于用户登陆后,会长时间保存登陆状态,不需要实时登陆操作。同理只要不是很复杂的API都能白嫖(比如我就搞过图书馆自动抢票)。

  • 7
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
好的,针对你的问题,我可以为你提供一个基于Python3.7的自动签到脚本的demo版。不过在执行脚本之前,需要安装一些必要的Python模块,包括: - requests:用于发送HTTP请求 - BeautifulSoup:用于解析HTML文档 - lxml:用于解析HTML文档 可以使用以下命令来安装这些模块: ``` pip install requests pip install beautifulsoup4 pip install lxml ``` 下面是一个简单的自动签到脚本的demo版,你可以根据自己的需求进行修改和优化: ```python import requests from bs4 import BeautifulSoup # 登录页面的URL login_url = 'https://example.com/login' # 签到页面的URL sign_url = 'https://example.com/sign' # 登录账号和密码 username = 'your_username' password = 'your_password' # 登录请求所需的数据 login_data = { 'username': username, 'password': password } # 请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3' } # 创建会话对象 session = requests.Session() # 发送登录请求 response = session.post(login_url, data=login_data, headers=headers) # 获取登录后的HTML文档 soup = BeautifulSoup(response.text, 'lxml') # 查找签到按钮 sign_button = soup.find('button', {'class': 'sign-button'}) # 如果找到了签到按钮,则执行签到操作 if sign_button: # 获取签到请求的URL sign_request_url = sign_button.get('data-url') # 发送签到请求 session.get(sign_request_url, headers=headers) print('签到成功!') else: print('今天已经签到过了!') ``` 需要注意的是,这只是一个demo版的脚本,具体的实现可能会因为网站的不同而有所区别。在使用脚本之前,需要先分析登录和签到的请求过程,并确定所需的请求参数和请求头。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值