吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 12264|回复: 53
收起左侧

[Python 转载] 某度贴吧签到脚本[本地版,含日志](白嫖实现每日自动签到)

  [复制链接]
三滑稽甲苯 发表于 2020-4-10 07:52
本帖最后由 三滑稽甲苯 于 2020-4-18 21:56 编辑

注[2020.4.18]:由于明天开学,并且连读2周左右,故最近不会回复相关问题。本脚本为我从网上各渠道搜集到的签到脚本的杂交
个人使用效果感觉良好
如果并不需要日志功能,建议前往https://www.52pojie.cn/thread-1155287-1-1.html,本地同样可用。
源码:
[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
from requests import Session
from time import time
start_time = time()
 
# 数据
log_path = f"E://data/sign_log_{int(start_time)}.txt"#日志记录
like_url = 'https://tieba.baidu.com/mo/q/newmoindex?'
sign_url = 'http://tieba.baidu.com/sign/add'
tbs = '4fb45fea4498360d1547435295'
head = {
    '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',
    'Cookie': '填入你的百度cookie(百度一下:如何获取百度cookie)',
    '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'}
s = Session()
 
# 获取关注的贴吧
bars = []
dic = s.get(like_url, headers=head).json()['data']['like_forum']
for bar_info in dic:
    bars.append(bar_info['forum_name'])
 
# 签到
already_signed_code = 1101
success_code = 0
need_verify_code = 2150040
already_signed = 0
succees = 0
failed_bar = []
logs = []#日志记录
n = 0
 
while n < len(bars):
    bar = bars[n]
    data = {
        'ie': 'utf-8',
        'kw': bar,
        'tbs': tbs
    }
    try:
        r = s.post(sign_url, data=data, headers=head)
    except Exception as e:
        print(f'未能签到{bar}, 由于{e}。')
        failed_bar.append(bar)
        continue
    dic = r.json()
    msg = dic['no']
    if msg == already_signed_code: already_signed += 1; r = '已经签到过了!'
    elif msg == need_verify_code: n -= 1; r = '需要验证码,即将重试!'
    elif msg == success_code: r = f"签到成功!你是第{dic['data']['uinfo']['user_sign_rank']}个签到的吧友,共签到{dic['data']['uinfo']['total_sign_num']}天。"
    else: r = '未知错误!' + dic['error']
    print(f"{bar}:{r}")
    succees += 1
    logs.append(dic)#日志记录
    n += 1
end_time = time()
t = end_time - start_time
l = len(bars)
failed = "\n失败列表:"+'\n'.join(failed_bar) if len(failed_bar) else ''
print(f'''共{l}个吧,其中: {succees}个吧签到成功,{len(failed_bar)}个吧签到失败,{already_signed}个吧已经签到。{failed}
此次运行用时{t}s。''')
with open(log_path,'w') as f:#日志记录
    for log in logs:#日志记录
        f.write(str(log)+'\n')#日志记录

如果不需要日志则把带“#日志记录”的行删除即可
**签到脚本云函数专用版已出,体验更佳:https://www.52pojie.cn/thread-1155287-1-1.html**
下面是挂到白嫖云服务器上来实现自动签到的方法
Step1. 注册账号,过程略。网址:https://console.cloud.tencent.com/
Step2. 进入云函数控制台的函数服务:https://console.cloud.tencent.com/scf/index?rid=1

2

2

Step3. 单击“新建”
Step4.

4

4

Step5.

5

5

Step6.

6

6

Step7. 测试一下函数运行情况。
如若成功则继续,失败则检查cookie是否过期、填写错误以及网络状况。

7

7

Step8. 自动执行

8.1

8.1

8.2

8.2

Step9. 洗洗睡,明天早上起来后会发现已经签到了

免费评分

参与人数 4吾爱币 +3 热心值 +4 收起 理由
INDEX59 + 1 + 1 谢谢@Thanks!
佳人的泪 + 1 + 1 谢谢@Thanks!
sit06678 + 1 谢谢@Thanks!
luanshils + 1 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| 三滑稽甲苯 发表于 2020-4-10 10:51
Simonl 发表于 2020-4-10 10:29
这个可以,我也想自己弄弄一个,但是不知道思路怎么样,楼主能否注释多一点,小白刚开始学

[Python] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
from requests import Session # Session会保持连接,从而加快签到速度
from time import time# 记录始末时间
start_time = time()# 记录开始时间
  
  
# 数据
log_path = f"填入保存日志的路径sign_log_{int(start_time)}.txt"# 日志记录路径
like_url = 'https://tieba.baidu.com/mo/q/newmoindex?'# 获取关注的吧列表所用网址
sign_url = 'http://tieba.baidu.com/sign/add'# 签到所用网址
tbs = '4fb45fea4498360d1547435295'
head = {
    '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',
    'Cookie': '填入你的百度cookie(百度一下:如何获取百度cookie)',
    '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'}# 设置请求头及cookie
s = Session()# 创建Session实例
  
  
# 获取关注的贴吧
bars = []# 记录关注的贴吧
dic = s.get(like_url, headers=head).json()['data']['like_forum']# 获取关注的吧列表
for bar_info in dic:
    bars.append(bar_info['forum_name'])# 过滤信息
  
  
# 签到
already_signed_code = 1101# 已经签到返回码
success_code = 0# 签到成功返回码
need_verify_code = 2150040# 需要验证码返回码
already_signed = 0# 记录已经签到的个数
succees = 0# 记录成功签到的个数
failed_bar = []# 记录签到失败的吧
logs = []# 日志记录
n = 0# 循环变量
  
while n < len(bars):# 主程序
    bar = bars[n]
    data = {
        'ie': 'utf-8',
        'kw': bar,
        'tbs': tbs
    }
    try:
        r = s.post(sign_url, data=data, headers=head)
    except Exception as e:
        print(f'未能签到{bar}, 由于{e}。')
        failed_bar.append(bar)
        continue# 重试
    dic = r.json()
    msg = dic['no']
    if msg == already_signed_code: already_signed += 1; r = '已经签到过了!'
    elif msg == need_verify_code: n -= 1; r = '需要验证码,即将重试!'
    elif msg == success_code: r = f"签到成功!你是第{dic['data']['uinfo']['user_sign_rank']}个签到的吧友,共签到{dic['data']['uinfo']['total_sign_num']}天。"
    else: r = '未知错误!' + dic['error']
    print(f"{bar}:{r}")
    succees += 1# 签到成功+1
    logs.append(dic)#日志记录
    n += 1# 循环变量
end_time = time()# 记录结束时间
t = end_time - start_time# 运行时间
l = len(bars)
failed = "\n失败列表:"+'\n'.join(failed_bar) if len(failed_bar) else ''
print(f'''共{l}个吧,其中: {succees}个吧签到成功,{len(failed_bar)}个吧签到失败,{already_signed}个吧已经签到。{failed}
此次运行用时{t}s。''')# 报告
with open(log_path,'w') as f:#日志记录
    for log in logs:#日志记录
        f.write(str(log)+'\n')#日志记录

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
czay + 1 + 1 热心回复!

查看全部评分

日后提拔 发表于 2020-4-10 08:02
maokuan888 发表于 2020-4-10 08:02
luanshils 发表于 2020-4-10 08:03
亲测可用,但是执行完会提示错误,Traceback (most recent call last):
  File "C:/Users/admin/Desktop/签到.py", line 71, in <module>
    with open(log_path,'w') as f:#日志记录
FileNotFoundError: [Errno 2] No such file or directory: 'E://data/sign_log_1586476871.txt'
weidongstar 发表于 2020-4-10 08:03
.crx不香么?
geniusrot 发表于 2020-4-10 08:16
代码有了,怎么用啊?!我也想整合一个一键签到
 楼主| 三滑稽甲苯 发表于 2020-4-10 08:18
luanshils 发表于 2020-4-10 08:03
亲测可用,但是执行完会提示错误,Traceback (most recent call last):
  File "C:/Users/admin/Desktop/ ...

那是因为我添加了日志功能,而你的电脑上没有我习惯放日志的路径。你可以去除或修改此功能
 楼主| 三滑稽甲苯 发表于 2020-4-10 08:19
geniusrot 发表于 2020-4-10 08:16
代码有了,怎么用啊?!我也想整合一个一键签到

用python运行
有空我打包成. exe(咕咕咕)
luanshils 发表于 2020-4-10 08:23
三滑稽甲苯 发表于 2020-4-10 08:19
用python运行
有空我打包成. exe(咕咕咕)

我是用的 idle运行的,因为我是一个py渣渣,只会运行的那种
whofly 发表于 2020-4-10 08:25
好的 签到高手一时俱无踪~
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-5-20 09:46

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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