一个在百度贴吧上为你的贴吧签名的工具
mpsign的Python项目详细描述
用 Python 实现的贴吧签到助手
安装
$ sudo pip install mpsign
API
MPSIGN 的所有核心功能均在 mpsign.core 模块下(很快就不在了)。以下是一些示例。
登录
通过 BDUSS
>>>frommpsign.coreimportUser>>>user=User('YOUR BDUSS')# 此处的 BDUSS 可从 *.baidu.com 域下的 Cookies 找到
通过账号密码 (复活!!)
frommpsign.coreimportUser,Captcha,LoginFailureget_my_user=User.login('USERNAME','PASSWORD')# 登陆的接口是用 generator 实现的try:result=get_my_user.send(None)# 启动 generatorifisinstance(result,Captcha):# 是否需要验证码result.as_file('captcha.gif')# 验证码图片保存到 captcha.gifuser=get_my_user.send(input('captcha: '))# 发送验证码给 generatorelse:user=result# 不需要验证码的话,result 即是新建的 User 实例exceptLoginFailureasex:raiseex
注: LoginFailure 还有如下子异常: InvalidPassword, InvalidCaptcha, InvalidUsername, DangerousEnvironment
注: user = user_gen.send(your_input) 也等价与以下代码:
result.fill(your_input)# result 是一个 Captcha 对象user_gen.send(None)
获取喜欢的吧
>>>user.bars[0].kw'chrome'
签到
>>>frommpsign.coreimportUser,Bar>>>user=...获取User实例>>>bar=Bar(kw='python')>>>bar.sign(user)SignResult(message='ok',exp=8,bar=<Bar:python>,code=0,total_sign='41',rank='3249',cont_sign='4')
注: user.sign(bar) 与 bar.sign(user) 等价。
>>>[user.sign(bar)forbarinuser.bars]...alistofSignResult
注: 签到需要贴吧的 fid。最好不要用 Bar(kw) 这个构造方法,会单独获取 fid。请权衡用 user.bars 批量获取和单独获取的利弊再用
BDUSS 吼不吼啊?
>>>frommpsign.coreimportUser>>>User('已过期或滚键盘出来的 BDUSS').validationFalse
tbs
>>>user.tbs...
fid
>>>frommpsign.coreimportBar>>>Bar('chrome').fid'1074587'
命令行工具
MPSIGN 自带一个命令行工具!配合 Cron 食用效!果!更!佳!(〜 ̄△ ̄)〜
我不想看用法!
$ mpsign login 用户名 ...按步骤走(・∀・) $ mpsign sign ...
用法
$ mpsign --help Usage: mpsign login <username> [--dont-update] mpsign (new|set) <user> <bduss> [--without-verifying][--dont-update] mpsign (delete|update)[<user>] mpsign sign [<user>][--delay=<second>] mpsign info [<user>] mpsign -h | --help mpsign -v | --version Options: -h --help Show this screen. -v --version Show version. --without-verifying Do not verify BDUSS. --dont-update Do not update your favorite bars after binding user --bduss Your Baidu BDUSS. --username Your Baidu ID --user Your mpsign ID. --delay=<second> Delay for every single bar [default: 3].