返回

掘金自动签到 ——让沉闷机械的工作远离你

前端

写在前面
新年第一天,为了和掘金大佬们一起沾喜气,我开发了这个掘金自动签到脚本,不但可以自动执行签到任务,还可以自动抽奖、免费沾喜气、邮件通知,再也不用担心忘记签到了!

开发过程

在开始编写脚本之前,我们首先需要收集掘金签到页面的相关信息。

  1. 掘金签到页面分析
    掘金签到页面位于掘金网站的主页,登录掘金账号后,点击右上角的头像,选择“签到”,即可进入签到页面。在签到页面,我们可以看到签到按钮、抽奖按钮、签到日历等元素。

  2. Python库选择
    对于Python库的选择,我们需要一个能够处理HTTP请求的库和一个能够发送邮件的库。这里我们选择使用requests库和smtplib库。

  3. 脚本开发
    脚本开发主要包括以下几个步骤:

1)导入必要的库:

import requests
import smtplib

2)定义签到函数:

def sign_in():
  url = "https://juejin.cn/user/checkin"
  headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"}
  response = requests.get(url, headers=headers)
  if response.status_code == 200:
    return True
  else:
    return False

3)定义抽奖函数:

def draw():
  url = "https://juejin.cn/lucky/daily"
  headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36"}
  response = requests.get(url, headers=headers)
  if response.status_code == 200:
    return True
  else:
    return False

4)定义发送邮件函数:

def send_email(content):
  smtp_server = "smtp.gmail.com"
  smtp_port = 587
  sender_email = "example@gmail.com"
  sender_password = "password"
  receiver_email = "receiver@gmail.com"
  message = "Subject:掘金签到成功\n\n" + content
  server = smtplib.SMTP(smtp_server, smtp_port)
  server.starttls()
  server.login(sender_email, sender_password)
  server.sendmail(sender_email, receiver_email, message)
  server.quit()

5)定义定时任务:

import schedule
schedule.every().day.at("00:00").do(sign_in)
schedule.every().day.at("00:00").do(draw)
schedule.every().day.at("00:00").do(send_email)
while True:
  schedule.run_pending()
  1. 脚本运行
    将脚本保存为.py文件,然后使用以下命令运行脚本:
python3 script.py

使用效果

脚本运行后,每天凌晨0点会自动执行签到、抽奖和发送邮件通知任务。如果签到成功,脚本会将签到成功的消息发送到你的邮箱。

结语

掘金自动签到脚本可以帮助你轻松地参与掘金社区的活动,节省你的时间和精力。如果你对这个脚本感兴趣,可以自行下载并修改,以满足你的需求。