python教程

Python某度贴吧签到脚本V2云函数版

精准像素 2022-05-29 人阅读

使用方法

注册账号,过程略。网址:https://console.cloud.tencent.com/

进入云函数控制台的函数服务:https://console.cloud.tencent.com/scf/index?rid=1

单击“新建”

如图(BDUSS及Stoken获取见附录,粘贴代码时留下它原来的第一行

Python某度贴吧签到脚本V2云函数版
Python脚本截图

Python代码

from requests import session
from hashlib import md5
from random import random
from time import sleep
class Tieba():
def __init__(self, BDUSS, STOKEN):
    self.BDUSS = BDUSS
    self.STOKEN = STOKEN
    self.count = [0, 0, 0] # 签到成功, 已经签到, 总
    self.session = session()
    self.session.headers.update(
        {'Accept': 'text/html, */*; q=0.01',
        'Accept-Encoding': 'gzip, deflate',
        'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8',
        'Connection': 'keep-alive',
        'Host': 'tieba.baidu.com',
        'Referer': 'http://tieba.baidu.com/i/i/forum',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
        'Chrome/71.0.3578.98 Safari/537.36',
        'X-Requested-With': 'XMLHttpRequest'}
    )
def set_cookie(self):
    self.session.cookies.update({'BDUSS': self.BDUSS, 'STOKEN': self.STOKEN})
def fetch_tbs(self):
    r = self.session.get('http://tieba.baidu.com/dc/common/tbs').json()
    if r['is_login'] == 1: self.tbs = r['tbs']
    else: raise Exception('获取tbs错误!以下为返回数据:' + str(r))
def fetch_likes(self):
    self.rest = set()
    self.already = set()
    r = self.session.get('https://tieba.baidu.com/mo/q/newmoindex?').json()
    if r['no'] == 0:
        for forum in r['data']['like_forum']:
            self.count[2] += 1
            if forum['is_sign'] == 1:
                self.already.add(forum['forum_name'])
            else:
                self.rest.add(forum['forum_name'])
    else: raise Exception('获取关注贴吧错误!以下为返回数据:' + str(r))
def sign(self, forum_name):
    data = {
        'kw': forum_name,
        'tbs': self.tbs,
        'sign': md5(f'kw={forum_name}tbs={self.tbs}tiebaclient!!!'.encode('utf8')).hexdigest()
    }
    r = self.session.post('http://c.tieba.baidu.com/c/c/forum/sign', data).json()
    if r['error_code'] == '160002':
        print(f'"{forum_name}"已签到!')
        self.count[1] += 1
        return True
    elif r['error_code'] == '0':
        print(f'"{forum_name}"签到成功,您是第{r["user_info"]["user_sign_rank"]}个签到的用户!') # Modify!
        self.count[0] += 1
        return True
    else:
        print(f'"{forum_name}"签到失败!以下为返回数据:{str(r)}')
        return False
def loop(self, n):
    print(f'* 开始第{n}轮签到 *')
    rest = set()
    self.fetch_tbs()
    for forum_name in self.rest:
        sleep(random() * 3)
        flag = self.sign(forum_name)
        if not flag: rest.add(forum_name)
    self.rest = rest
def main(self, max):
    self.set_cookie()
    self.fetch_likes()
    n = 0
    if self.already:
        print('* 已经签到的贴吧 *')
        for forum_name in self.already:
            print(f'"{forum_name}"已签到!')
            self.count[1] += 1
    while n < max and self.rest:
        n += 1
        self.loop(n)
    print('* 本日签到报告 *')
    print(f'共{self.count[2]}个贴吧,其中签到成功{self.count[0]}个,已经签到{self.count[1]}个,签到失败{len(self.rest)}个。')
    if self.rest:
        print('* 签到失败列表 *')
        for forum_name in self.rest:
            print(f'"{forum_name}"签到失败!')
def main_handler(*args):
with open('BDUSS.txt') as f: BDUSS = f.read()
with open('STOKEN.txt') as f: STOKEN = f.read()
task = Tieba(BDUSS, STOKEN)
task.main(3)
# 不需要推送的删除以下几行
if task.rest:
    message = f'以下为未完成列表:'
    for forum in task.rest: message += 'n' + forum
    data = {'text': '签到未完全完成!', 'desp': message}
    post('https://sc.ftqq.com/你的key.send', data=data)```

回到此界面,点击"测试"(应该会自动部署,如提示请先部署就先部署一下)

Python某度贴吧签到脚本V2云函数版

如若成功,应该能看到“测试成功”,输出签到的详细信息,可以进入下一步;如若失败,查看是否复制粘贴出错,无误仍出错请参照附录。

Python某度贴吧签到脚本V2云函数版

设置自动执行

Python某度贴吧签到脚本V2云函数版

表达式:0 0 1 * * * *

相关推荐
  • Python脚本
  • Python云函数
  • 监测腾讯云轻量服务器流量超标关机python脚本

    脚本介绍一款监测腾讯云轻量应用服务器流量包使用情况,并根据配置进行警告和关机的Python脚本。GitHub:https://github.com/XiaoXinYo/Tencent_Cloud_LightHouse_Server_Guardian脚本功能仅用于轻量级服务器1.自动检测流量包剩余,可设置使用比2.自动关...

    python教程 36 8个月前
  • Python无需认证QQ扫码登录脚本

    无需认证QQ扫码登录脚本python脚本,盗用JD的QQ登录,也可以改成其他网址。无需自己注册腾讯开发者,无需自己有一套网址去申请应用Get_QQ返回QQ号,也可以获取到QQ头像、好友等其他信息,请勿用于非法行为import requestsimport timefrom PIL import Imagedef...

    python教程 127 1年前
  • 最新python织梦dedecms远程执行脚本

    织梦CMS是使用最多的CMS之 一,但是漏洞也非常多。分享一款python写的织梦远程文件包含漏洞。修复此漏洞方法,请见文章底部。织梦CMS漏洞代码#! /usr/bin/env python#coding=utf-8#Joseph(小续)import requestsimport sysimport redef main():try:url="...

    服务器配置 267 3年前
  • Python抖音官方接口分享

    抓了两个抖音的接口,一个是官方新的解析接口,另一个是拼接测试出来一个未公开的查用户信息的接口,一起分享给大家。代码放到阿里云的函数计算,可以直接托管到公网(腾讯云的云函数还需要自己配置API网关)。代码import requestsimport reheaders = {&#39;Use...

    python教程 123 1年前
  • Python和彩云自动签到云函数脚本分享

    教程说明一段Python和彩云自动签到云函数脚本,可领爱奇艺,腾讯,芒果等会员。腾讯云函数里面的执行时间调大点,要不执行不完,懂的朋友看。Python签到脚本import jsonimport requestsOpenLuckDraw = False # 是否开启自动幸运抽奖(首次免费, 第二次5积分/...

    python教程 279 1年前
  • Python百度贴吧一键自动签到脚本

    Python贴吧签到脚本介绍相较于本地版本,此脚本新添了延时功能以防签到过快,并将代码放置在main函数中以提供入口(不再显示执行错误)更新说明4.18 可设置验证码错误的最大尝试次数;server酱推送更加详细;补充了云函数收费的说明。4.30 历史版本5.16 随...

    python教程 93 1年前