吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3860|回复: 66
收起左侧

[Python 转载] 百度贴吧签到助手 [修复只能签到20个的问题]

 关闭 [复制链接]
nanqian 发表于 2022-8-21 17:24
本帖最后由 nanqian 于 2022-8-25 16:45 编辑

前几天在站内看到有个兄弟分享了自己用python写的贴吧签到,正好这段时间在学python,于是为了验收一下自己的学习成果在看了个思路后自己写了一份

用pyinstaller打包了一下,在同一目录下的cookie.txt里填好cookie就可以用了


1.jpg

下面的代码是把cookie填在文件里的
[Python] 纯文本查看 复制代码
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

import re
import requests
import os
import time
import platform
from progress.bar import IncrementalBar

my_cookie = ''
my_header = {'Cookie': my_cookie,
             'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.0.0 Safari/537.36'}


def clear():
    # 返回系统平台/OS的名称,如Linux,Windows,Java,Darwin
    system = platform.system()
    if system == u'Windows':
        os.system('cls')
    else:
        os.system('clear')


total = 0
success_num = 0
repeat = 0
fail_list = []
section = requests.session()


def signup(tb):
    global total, success_num, repeat, fail_list
    total += 1
    time.sleep(0.1)
    # print(f' \n ♪{tb}吧')
    sign_data = {
        'ie': 'utf-8',
        'kw': tb,
        'tbs': time.time(),
    }
    sign_url = 'https://tieba.baidu.com/sign/add'
    req = section.post(sign_url, data=sign_data, headers=my_header)
    if req.json()['error'] == '':
        success_num += 1
    elif req.json()['error'] == u'亲,你之前已经签过了':
        repeat += 1
    else:  # 把签到失败的存储在列表里
        fail_list.append(tb)


def autoSignup():
    page = 1  # 从第一页开始
    print(u' \n如果您关注的贴吧较多将会分组签到,每组最多20个')
    while True:
        list_url = f'https://tieba.baidu.com/f/like/mylike?&pn={page}'
        res = section.get(list_url, headers=my_header)
        tb_list = re.findall(r'<a href=".*?" title=".*?">(.*?)</a>', res.text)
        if len(tb_list) == 0:
            break
        print('-------------------------')
        # 创建进度条
        mylist = tb_list
        bar = IncrementalBar('·', max=len(mylist))
        for tb in tb_list:
            bar.next()
            signup(tb)
            time.sleep(0.5)
        bar.finish()
        page += 1  # 循环结束+1页
    fail_num = total - success_num - repeat
    print('-------------------------')
    print(
        f' 您本次尝试签到{total}个吧,其中:\n'
        f'    {success_num}个签到成功,{repeat}个已经签到过,{fail_num}个签到失败\n'
        f'    签到失败的贴吧列表:{fail_list}')
    print(u'\n\n 所有贴吧签到完成,感谢您的使用!')


def main():
    if __name__ == '__main__':
        clear()
        for t in range(0, 5):
            print(
                u'\t\n -- 该文件仅用于学习交流,请合法使用并在下载后的24小时内删除! --\n')
            time.sleep(0.3)
        time.sleep(1.5)
        clear()  # 清除提示内容,下面正式开始
        if my_cookie == '':
            print(u' cookie为空')
            input(u' 按回车键关闭程序…')
            return
        autoSignup()
    input(u' 按回车键关闭程序…')


main()







2022.8.25


1.解决只能签到20个的问题
2.使用session来减少握手时间,提高效率
3.删除了get_tbs函数,直接使用time.time()生成tbs参数
4.改用进度条显示进度

感谢33楼@zhai0122的建议


应用版及源码下载链接:https://nanqian.lanzouv.com/b05oo670h 密码:i26x

免费评分

参与人数 9吾爱币 +8 热心值 +7 收起 理由
半夜咳嗽的狼 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
bg4vrg + 1 + 1 谢谢@Thanks!
爱初音也爱国 + 1 + 1 谢谢@Thanks!
从北方来的小二 + 1 + 1 我很赞同!
djzhao + 1 用心讨论,共获提升!
ricardo172 + 1 + 1 谢谢@Thanks!
lfm333 + 1 + 1 热心回复!
一个快乐的富豪 + 1 我很赞同!
13507520538 + 1 我很赞同!

查看全部评分

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

 楼主| nanqian 发表于 2022-8-22 23:07
1332149404 发表于 2022-8-22 22:39
怎么获取贴吧cookie呀

在贴吧首页登录账号后,F12打开浏览器的开发者工具,选择网络(Network),刷新页面,在出现的列表的最上面有一个index.html,点进去后在右边的请求头(Request Headers)一项就可以看到Cookie,右键复制就可以了
或者百度一下应该也是有图文教程的
wzyl 发表于 2022-8-21 20:03
谢谢老板的分享 正好想找一个自动签到贴吧的软件工具
 楼主| nanqian 发表于 2022-8-25 20:59
a2579111 发表于 2022-8-25 18:45
大佬你好,
我运行提示缺少api-ms-win-core-path-|1-1-0.dll,
是不是要下载个什么东西补一下?

https://blog.csdn.net/gwz_6903/article/details/116304750你试试看行不行
 楼主| nanqian 发表于 2022-8-21 20:51
丨miss丶星星 发表于 2022-8-21 19:58
最近python很火啊,支持一下

是啊挺多人学的,好上手又能轻松实现一些自动化
丨miss丶星星 发表于 2022-8-21 19:58
最近python很火啊,支持一下
xcoogg 发表于 2022-8-21 20:16
不错,感谢分享
xynm 发表于 2022-8-21 20:30
太感谢了,顺便学习楼主的思路
xiazhi52 发表于 2022-8-21 21:22
这个不错
大方 发表于 2022-8-21 21:33
我把这个挂到GitHub上做个任务每天自动执行可以嘛?
lfm333 发表于 2022-8-21 21:43
感谢大佬分享
似梦清风 发表于 2022-8-21 21:44
cookie是BDUSS还是什么,粘进去不对
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

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

GMT+8, 2024-5-12 01:55

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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