从0到1实现完全自定义的百度贴吧自动回帖软件--不可思议的脚本

前言:

最近迷上了写脚本开发,最近在逛贴吧的时候,发现好多恶心的号(pc号),每天不断的定时给自己的帖子顶上首页,难道百度都已经落迫到这般地步了吗? 话说回来,最近迷上了写脚本,刚好可以拿贴吧来试验一下.

文末有软件下载地址.

先上最终实现的效果图:

首页如果没有填写配置信息则是空白页面,填写完后便有信息展示

点击配置信息,按照提示输入相关信息

点击开始执行,启动定时任务.

程序便会在约定的发布时间去执行,但是在时间这一块,我做了一个小心思,把分钟随机了一下,防止百度判断当前用户是机器操作.

代码如下:

意思是如果设置的时间是40以下 则会向上随机加上20内数字,如果超过40,则向下减去20内数据,所以万一碰到到时间没有执行成功,可以再等等.

可以用这个程序来刷贴吧经验,完全不需要人工操作,但是在第一次使用的时候,是需要登陆贴吧账号的,我在程序里设置了1分钟的登陆时间,如果在1分钟内还没有登陆成功,可以重新执行一次任务

后面这个功能又被我删除了.. 感觉鸡肋..

接下来看代码原理:

这个是基于electron来开发的,所以包会比较大,再加上里面还融入了chrome的内核,就更大了. 在mac上安装后的大小是在300M左右.

使用的技术栈: electron+react+vite+antd+puppeteer. 都是一些非常流行的技术栈.

因为electron是node的运行时,所以可以做node上的所有的功能,包括数据请求,文件管理,地址处理等,基于此,我也安装了puppeteer的包,让程序能够跑起来,在页面上完全模拟人工操作(puppeteer不懂的可以去搜索一下相关信息)..

以下是相关的关键代码:

const loginBtn = await page.$('#TANGRAM__PSP_5__submit');

if (loginBtn) {

await delay(60000);

await page.reload();

}

如果找到登陆按钮,则等待1分钟 重新登陆后,刷新页面.

const inputNumber = params.execTimes || 10

执行条数,即贴吧首页一共会加载50条数据,程序会自动取其中几条去执行

const hrefArray = await page.$$eval('#thread_list > .j_thread_list .col2_right .threadlist_title a',eles =>eles.map(ele => ele.href));

获取首页列表数据的src链接

for(let i =0;i < inputNumber;i++){

随机执行

const index = Math.floor(Math.random() * hrefArray.length);

const randomUrl = hrefArray[index]

await doComment(page,randomUrl,params) // 执行评论代码

await delay(60000)

hrefArray.splice(index,1)

}

遇到的问题:

最大的问题就是通信吧,刚开始用的是别人模板里的通信方式,发现在渲染层无法使用require的方法,导致无法在主进程向渲染进程发消息,后面也发现了问题,解决方案可以参考下方

new BrowserWindow({

title: '不可思议的脚本',

icon: iconPath,

width: 400,

height: 500,

backgroundColor: '#191622',

webPreferences: {

nodeIntegration: true, // 渲染进程融合node 开启这个后 无法使用electron的contextBridge

contextIsolation:false, // 这个也需要关闭

preload

}

})

其它就没什么难度了,业务逻辑写起来也简单.

最后:

最后分享一下我写好的程序吧,有兴趣的朋友可以下载来玩玩,参考参考,学习学习... 另外 贴吧里有人工审核的,如果发的帖子内容太水,很有可能会被封哦..

附上下载地址:链接:https://pan.baidu.com/s/1eQRd1V9nY6wgaSofw0n3ow  密码:vc4q

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

自动化处理

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值