用python写一个百度贴吧客户端-飞
发布时间: 2023-07-06

作者:bigtrace

2020/12/05 日更新,我做了一个在线的解析bsk或者转bsk成明文的工具:http://www.baidubsk.site
仅供个人学习使用。

很久以前写了一个百度自动发帖机,结果由于水贴太快导致账号永封。最近将之前的代码改了一下,变成一个在命令行里面由python运行的百度贴吧客户端。

预览效果

我简单介绍一下使用方法和功能

浏览首页

打开程序,它会自动读取你的百度帐号cookie文件,登录成功会显示islogin=1,失败会显示islogin=0

接着你可以输入help 来浏览一下常用指令。

接下里可以有以下选择:

浏览自己关注的贴吧

输入指令 mf

mf浏览自己发过的主题贴

输入 mt

mt

这里是爬 我的贴子 的页面

浏览自己最近的回帖

输入mr

mr

这里是爬 我的回帖 的页面

浏览别人回复我的

输入指令 rm

rm

这里是爬 回复我的 的页面

进入贴吧

输入a 加上贴吧名来进入

比如
先输入a 再输入 斗鱼TV

这里默认显示贴吧首页的帖子。但是如果你想浏览更早的帖子,输入 s 接着输入 页码
比如用 s 100 来浏览的帖子。

这里的页数对应贴吧底部的页数。

这里index后面的数字要用来阅读帖子, 而括号里面的数字代表当前该帖的回复数。
最右边为发帖楼主ID

关注该贴吧

输入like

like取消关注

输入dislike

dislike签到

输入si

si阅读某个帖子输入帖子序号

每个帖子都有对应的index,如果对某个帖子感兴趣,可以直接输入 t index
比如我对回复,那么程序会逐个遍历所有页面。

只看楼主

输入 zklz

效果如下:

zklz展开楼中楼

当你想 查看具体某一楼层的楼中楼回复时,可以使用指令 例如 lzl 25
程序会自动将版的ID有所出入。

如果想换贴吧浏览,则输入a,接着输入你想看的其他贴吧名称

发帖

如果想发帖的话,可以输入 p 然后根据提示,输入帖子的标题和内容。

比如下图

发帖成功,如下图所示

回帖

当然,回帖功能是必不可少的。

直接回复

输入r 回复最近浏览的贴子。并且在你回复的内容后自动添加小尾巴。小尾巴可以根据个人喜好自定义内容。我喜欢在签名档中添加图片和一些随机文字,这样可以水到更多经验。另外你也可以设置签名档,在程序内post表栏目中'sign_id':sign_id 更改。

比如我在之前的帖子里面回复: r

首先程序会提示是否需要插入图片,如果需要则直接按照要求填写图片url,如果不需要,则直接按回车跳过。

本地图片可以先上传到图床然后制作url,然后插入。 gif 图会有些限制,比如width小于530,size小于3MB

楼中楼内回复

如果你不想回复楼主而是回复具体某个楼层时,你可以直接输入 r floor_num
比如说你想回帖子的的帖子
ft 刷新当前帖子的回复,比如你刚用r 回复了某一个帖子, 通过ft 刷新当前帖子,就立即看到自己刚回复的内容
b 跳到首页的帖子列表

c 清屏

e 退出

exit登录帐号

这里我用了chrome一个专门导入导出cookie的extention

在登录完你的百度帐号后,随便进入一个百度帖子页面,然后该利用这个extention导出cookie(json format)然后保存在cookie.txt文件中。

该程序会自动读取该文件来实现登录功能。由于百度贴吧内部验证流程越来越复杂,我实在弄不好如何直接输入用户名和密码还有验证码实现登录,所以这里用cookie文件实属取巧,不过对于我个人来说已经够用了。如果有了解如何登陆的朋友,请不吝赐教。

附上代码,由于代码没啥复杂的东西,所以有问题就留言哈

我用了pycurl 的库,主要是为了对付我公司的NTLM验证。如果你公司没有proxy 代理,则可以把下面几行注释掉