Git Product home page Git Product logo

tieba_sign's Introduction

Tieba_Sign

百度贴吧多线程扫码登陆 / 自动签到 / 自动打码

经测试:在三个帐号,一共207个贴吧的情况下,全部签到完成速度为5s左右。(Cookies登录情况下)

Use:Python3.6以上

效果

alt 效果图

使用教程

1.安装依赖
pip install -r requirements.txt
# Centos
yum install zbar -y

# Ubuntu
sudo apt-get install libzbar-dev -y
2.增加用户配置 (tieba_sign.py)
user_lists = ['用户名']
# 用户名,例如['用户1', '用户2', '用户3'] 一共3个用户
# 请按照从前往后的顺序来依次进行登陆

运行

python tieba_sign.py # 开始登录并签到

请注意,在最新版本中,需要扫码登陆,程序运行的时候,会问你是否有百度贴吧 or 百度 APP,如果有,那就会出现一条二维码链接,使用 IE浏览器 (因为Chrome浏览器打开二维码链是黑底,百度贴吧APP不能有效的识别,所以建议使用IE浏览器) 打开此链接,并使用APP扫码登陆;如果没有这两个APP,同样会给出一条链接,该链接是解析二维码得到的链接,使用任意已经登陆了百度贴吧网页版的浏览器打开该链接 —> 选择验证方式 —> 输入验证码 —> 点确认登录即可,脚本会自动完成登陆。

TODO

  • 手机号码登陆(Working)
  • 扫码登陆~~,动态口令登陆~~(已完成)
  • 自动获取QQ邮箱验证码,达到全自动登陆(Woking)
  • 添加打码平台(已完成)
  • 二次使用Cookie登陆(已完成)
  • 多线程签到(已完成)
  • 多账号签到(已完成)

优势

  1. Python3
  2. 支持Windows / Mac / Linux 全平台
  3. 使用自建免费打码平台
  4. 签到200个贴吧仅需5s左右
  5. 扫码登陆更安全

注意事项

  • 如果使用Crontab自动签到,请先将已经得到的Cookie文件放入/root/目录下

    如果不是root用户,把Cookie放入当前用户目录下即可

    Cookie文件格式为‘.User’,User为用户名,整体为隐藏文件

    复制命令为cp,例子:cp .User /root/

    查看隐藏文件命令为ll -a

    建议设置自动签到时间为早四点和下午四点:04:00 16:00防止漏签

    漏签只有一个原因,网络问题导致连接打码服务器出问题。

  • 遇到任何问题,请提交Issues!

ChangeLog

2019年12月31日

  1. 签到API修改为安卓端API,签到更快,速度为207个贴吧2秒签到完成
  2. 获取贴吧修改为安卓端API
  3. 改善交互界面

2019年10月12日

  1. 登录块从账号密码登陆改成了扫码登陆,因为账号密码登陆需要拉动滑块验证
  2. 验证码签到这块改善了代码,一般情况下不会再出现问题
  3. 代码逻辑有改善

2019年06月12日

  1. 重写登陆块,放弃selenium模拟登陆
  2. 二次验证支持邮箱,手机验证码
  3. 代码逻辑有改善

2019年04月07日

  1. 添加多线程签到,签到速度约为1秒20个贴吧
  2. 去除若快打码,使用自己训练的验证码识别接口,识别速度更快,准确率可以打到99.99%
  3. 增加多用户签到,自行按照config.py文件填写相应帐号密码即可

2019年03月25日

  1. 修复不能正确判断验证类型的BUG

    由于Centos安装的Chrome版本为71,Ubuntu为73,71版本的Chrome登录一定是验证码+二代验证,而73版本正常登录只有二代验证,所以这里判断策略出了点问题。


2019年03月20日

  1. 由于签到一百个贴吧之后需要验证码,所以添加了打码功能,打码平台为若快打码
  2. 登录一次之后会自动保存Cookie在本地,后续签到直接调用Cookie

LICENSE

MIT

tieba_sign's People

Contributors

aruelius avatar coderkuo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

tieba_sign's Issues

cookie的有效期是多长?

成功是成功自动签到了,但我本身就只有30左右的贴吧数目,直接app也可以一键签到。
我还想自己弄一个定时器,每日凌晨帮我定时自动签到,但是这个cookie的有效期是多少。
隔几天又要重新扫码的话,也还是太麻烦了。

未知错误

已经成功签到了,看提示可能是遇到验证码就报这个错误
如下图:

image

打码平台报500错误

从cnn_captcha那里看到你的百度验证码识别的,想试一下用你的脚本结果验证码打码平台报500的错

<title>500 Internal Server Error</title>

Internal Server Error

The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

你的接口和他原来项目的使用方式有改动?

TBS校验失败

这是报错信息

扫描成功,请在手机端确认登录!
确认登陆成功
Login: True

//这是我print的rsp
{'error': {'errno': 320022, 'errmsg': '', 'usermsg': 'TBS校验失败'}, 'server_time': 3427, 'time': 1588880764, 'ctime': 0, 'logid': 2764429882, 'error_code': '0'}
Exception in thread Thread-1:

Traceback (most recent call last):
File "tieba_sign.py", line 264, in sign
if rsp['user_info']['is_sign_in'] == 1:
KeyError: 'user_info'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/lib/python3.7/threading.py", line 917, in _bootstrap_inner
self.run()
File "/usr/lib/python3.7/threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "tieba_sign.py", line 267, in sign
if rsp['error_msg'] == 'need vcode': # 这里也不清楚手机端需不需要验证码
KeyError: 'error_msg'

+------+------+
| 贴吧 | 状态 |
+------+------+
+------+------+
总共签到1个贴吧,耗时:34秒
`

我这个也有问题,不知道咋回事。如以下:

注意:请使用IE浏览器打开二维码链接!!!
扫描成功,请在手机端确认登录!
确认登陆成功
Traceback (most recent call last):
File "tieba_sign.py", line 316, in
tieba.main()
File "tieba_sign.py", line 301, in main
self.login(user)
File "tieba_sign.py", line 159, in login
self.qr_login(user)
File "tieba_sign.py", line 153, in qr_login
self.qr_login_set_cookie(bduss)
File "tieba_sign.py", line 98, in qr_login_set_cookie
rsp = json.loads(r.text.replace("'",'"'))
File "/usr/lib64/python3.6/json/init.py", line 354, in loads
return _default_decoder.decode(s)
File "/usr/lib64/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib64/python3.6/json/decoder.py", line 355, in raw_decode
obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Invalid \escape: line 1 column 1158 (char 1157)

tieba_sign.py 执行报错

在上一个issue给作者反馈,并没有修改任何该python文件除了accounts字典之外的内容, 我先后使用python2和pythpn3执行都是语法错误, 环境为阿里云 ubuntu16.04 server , 可能是我没有理解 需要如何配置账户?我只需要配置一个贴吧账户即可,使用vim修改了配置文件,将贴吧账户名和密码填入了配置文件的字典键值对中. 望作者答疑.

python3 tieba_sign.py File "tieba_sign.py", line 44 r = s.get(f'https://passport.baidu.com/v2/api/?getapi', params = params, ^ SyntaxError: invalid syntax
python2 tieba_sign.py File "tieba_sign.py", line 44 r = s.get(f'https://passport.baidu.com/v2/api/?getapi', params = params, ^ SyntaxError: invalid syntax

报错误

root@seedbox:/home/my/tieba_sign# python3 tieba.py
Traceback (most recent call last):
File "tieba.py", line 278, in
main()
File "tieba.py", line 243, in main
username = accounts[user]['username']
KeyError: 'xxx'
root@seedbox:/home/my/tieba_sign# v

而且我的密码里面有两个点....

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.