页面载入中,请稍后...

点我安装PWA
您已拒绝通知
    广告广告

    【自用哔哩哔哩每日自动签到】

    qaq卟言2023-08-18 00:18:42 Bash
    小人奔跑效果开始
    • 自用哔哩哔哩每日自动签到脚本1.png
    • 使用我这个bash签到脚本,可以多账户自动签到并且可以自己改通知
    • 之前写的一篇文章实现哔哩哔哩自动签到只是大致的写了签到的功能
    • 但是并没有通知信息或者支持多账号签到
    • 现在来公布一下我写的签到脚本以及使用方法
    • 我这个脚本使用Jq来获取哔哩哔哩API接口数据
    • jq可以将json数据格式化,也可以按照一个规则将数据切片过滤
    • 官方Jq地址
    • 直接安装Jq
    • 这里以ubuntu做示范
    • sudo apt-get install jq
    • 编译安装Jq
    • 下载
    • wget https://github.com/jqlang/jq/releases/download/jq-1.6/jq-1.6.tar.gz
    • 解压
    • tar -zxvf jq-1.6.tar.gz
    • 进入目录
    • cd jq-1.6
    • 编译安装
    • ./configure && make && make install
    • 验证安装
    • jq --version
    • 创建目录
    • mkdir 自动签到
    • 创建cookie文件
    • 如果有多个账号就创建多个文件,我有两个账号所以创建两个文件
    • touch qaq卟言
    • touch 夏日樱花粉
    • 按照这个文章实现哔哩哔哩自动签到登入获取账户cookie
    • 依次填写至文件内
    • 创建脚本
    • touch qd.sh
    • 写入内容
    • #这里使用死循环,当然你可以定时执行
      while true
      do
      echo "〔自动签到[哔哩哔哩]〕"
      echo "$(date "+%Y-%m-%d %H:%M:%S")"
      # cookie文件路径,默认当前目录
      path="./"
      # 判断 签到日期文件 是否存在
      if [ ! -f "$path$(date "+%Y-%m-%d")" ]; then
          # 签到哔哩哔哩的cookie文件,每一个文件存储一个cookie
          # 多用户使用 , 进行分隔,下面填写你上面生成的文件
          qd=qaq卟言,夏日樱花粉
          # 生成签到日期文件
          #touch $path$(date "+%Y-%m-%d")
          # 循环通过逗号分割字符串
          for i in $(echo $qd | sed "s/,/ /g"); do
              # 获取文件做后修改时间戳
              LAST_MODIFY_TIMESTAMP=`stat -c %Y $path$i`
              # 格式化时间戳
              formart_date=`date '+%Y-%m-%d %H:%M:%S' -d @$LAST_MODIFY_TIMESTAMP`
              # 定义30天到期
              date_30=$(date -d "$formart_date 30 day" +"%Y-%m-%d %H:%M:%S")
              t1=`date -d "$formart_date" +%s`
              t2=`date -d "$date_30" +%s`
              if [ $t1 -gt $t2 ]; then
                  # 文件修改的时间大于30天
                  echo -e "\n$i cookie可能到期\n"
                  echo -e "修改时间:$formart_date\n"
                  echo -e "到期时间:$date_30\n"
                  #通知QQ信息
      #             curl -d "user_id=QQ号&message=〔自动签到[哔哩哔哩]〕
      # $i cookie可能到期,修改时间:$formart_date,到期时间:$date_30&auto_escape=false" http://127.0.0.1:5700/send_private_msg
              elif [ $t1 -eq $t2 ]; then
                  # 文件修改的时间等于30天
                  echo -e "\n$i cookie准备到期\n"
                  echo -e "修改时间:$formart_date\n"
                  echo -e "到期时间:$date_30\n"
                  #通知QQ信息
      #             curl -d "user_id=QQ号&message=〔自动签到[哔哩哔哩]〕
      # $i cookie准备到期,修改时间:$formart_date,到期时间:$date_30&auto_escape=false" http://127.0.0.1:5700/send_private_msg
              else
                  # 文件修改的时间小于30天
                  # 定义cookie参数
                  qd_cook=`cat $path$i`
                  # 签到用户
                  echo -e "\n开始签到:'$i'\n"
                  # 签到接口
                  sign_data=$(curl --user-agent "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Mobile Safari/537.36" --referer 'https://link.bilibili.com/p/center/index' --cookie "$qd_cook" "https://api.live.bilibili.com/sign/doSign")
                  sign=$(echo $sign_data | jq -r '.data.text')
                  if [ "$sign" = "null" ]
                  then
                      # 签到错误信息
                      sign_message=$(echo $sign_data | jq -r '.message')
                      # 输出签到错误信息
                      echo -e "'$i'签到信息:$sign_message\n"
                      #通知QQ信息
      #                 curl -d "user_id=QQ号&message=〔自动签到[哔哩哔哩]〕
      # $i 签到信息:$sign_message&auto_escape=false" http://127.0.0.1:5700/send_private_msg
                  else
                      echo -e "\n'$i'签到信息:签到成功\n"
                      echo -e "\n'$i'签到礼物:$sign\n"
                      #通知QQ信息
      #                 curl -d "user_id=QQ号&message=〔自动签到[哔哩哔哩]〕
      # $i 签到信息:$sign&auto_escape=false" http://127.0.0.1:5700/send_private_msg
                  fi 
              fi
          done
      fi
          echo -e "\n所有账号签到完成"
          echo "下次签到时间"
          echo "$(date -d "$(date "+%Y-%m-%d %H:%M:%S") 1 day" +"%Y-%m-%d %H:%M:%S")"
          #睡眠一天
          sleep 86400s
      done
    • 上面我把QQ机器人的通知注释了,如果你有的话可以取消注释
    • 当然你也可以使用邮箱,微信,钉钉等方法通知
    • 执行脚本
    • ./qd.sh
    • 效果
    • 自用哔哩哔哩每日自动签到脚本2.png
    • 自用哔哩哔哩每日自动签到脚本3.png
    • 其他内容
    • 这个脚本是通过将Cookie写入文件,判断文件修改时间是否超过一个月来判断Cookie是否到期
    • Bashcat获取内容,再用curl发送签到请求
    • 因为哔哩哔哩Cookie一般是一个月到期,只要是不重复登入就行
    • 目前Cookie只能手动抓取,到期了只能重新抓
    • 有时候可能会出现Cookie到期,所以需要通知自己来手动更新Cookie
    完结

    🔖本文来源:qaq卟言的个人博客网站声明如损害你的权益请联系我们

    ©️版权声明:本文为【qaq卟言】原创文章,写作不易,转载请您添加本文链接,谢谢您的合作!

    📜著作协议:《知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

    ⚠️部分文章图片来自网络,可能存在版权问题。如发现相关争议请联系qaq卟言处理!

    🔗

    广告广告

    随机文章

    该文章已经关闭评论,评论请前往留言信箱