[什么值得买] 自动签到、自动评论、自动邮件发送 基于 Nodejs

发布于 1周前 作者 sinazl 来自 nodejs/Nestjs

[什么值得买] 自动签到、自动评论、自动邮件发送 基于 Nodejs

本项目是基于nodejs开发,实现的功能是,什么值得买自动签到,自动评论功能,统计、自动发邮件,支持多人账号运行,主要用来水经验,升升级,当然等级高,也可以领领券薅薅羊毛。

如有条件,此项目非常适合执行在vps树莓派云服务器上,一劳永逸,解放双手

本项目 gitbub 地址: https://github.com/xuess/smzdm-sign

有兴趣的可以去项目内看看,欢迎交流


21 回复

签到的是网页端的吗?之前抓过 ios 的签到加抽奖活了一年终于前几天挂了


有没有便宜的 nodejsvps 啊。。

qiandaotoday 的也是

向大神学习

留意 腾讯云 或 阿里云,新人活动,一年 99,可以一次买 3 年,很合适。虚拟云主机

#1 是网页端

那个密码应该不是普通的密码吧。

emmm,建议 md 写的更具体点,虽然很多人都知道要先 git clone 还有密码的获取方法。

请问下 jQuery112409568846254764496_ 这串数字是同一个 cookie 是不会变得么?

#9 那只是个回调函数的函数名,他们用的 [jsonp] 的形式,所以传什么过去都行,只是个参数值,用来获取回调函数的。

#7 请问,你说的 [密码] 是指的什么? cookie 吗?

就是第三方邮件客户端的授权码

昨天直接运行了一次,然后 ctrl+c 中止掉了,然后跑了一次 nohup 的,提示报错,今天就没运行签到和 17.30 提醒了。

#13 建议用pm2进行后台执行,方便看日志和进程,挂掉也能及时唤起

好强大,十分感谢,一直报错是因为我没有修改默认的评论内容导致重复了。其实您可以考虑那三句 demo 不要完全一样呢。哈哈。

错误内容:jQuery111006551744323225079_1525990431241({“error_code”:3,“error_msg”:“请勿重复提交”})

每天都会报错==.还是连续发四封邮件,昨晚 23 点的时候刷 app 发现竟然还可以签到一次。。。另一个号没断签。

#18 原因可能是发表速度太快了或者评论内容是一样的,应该是后者,建议可以把随机时间改大点,然后评论内容加点随机的内容例如随机数。近期我再更新下项目,改成评论内容随机拼接的形式,会减少报错概率。

#19 感谢回复,上次我已经修改过了评论内容了,这次增大 timeout 的时间试试~

要实现一个基于 Node.js 的自动化脚本,用于[什么值得买]网站的自动签到、自动评论以及自动邮件发送,你需要掌握几个关键技术点:网络请求(如 Axios)、自动化操作(如 Puppeteer 或 Cheerio)、以及邮件发送(如 Nodemailer)。以下是一个简单的示例,展示如何结合这些技术实现这些功能。

  1. 安装依赖

    npm install axios puppeteer nodemailer
    
  2. 自动签到和评论(简化示例,假设已有登录状态)

    const axios = require('axios');
    const puppeteer = require('puppeteer');
    
    async function autoSignInAndComment() {
        const browser = await puppeteer.launch();
        const page = await browser.newPage();
        await page.goto('https://www.smzdm.com/member/sign_in'); // 签到页面
        // 模拟点击签到按钮等操作(具体根据网页结构编写)
    
        await page.goto('https://www.smzdm.com/some_product_page'); // 商品页面
        // 模拟填写评论等操作(具体根据网页结构编写)
    
        await browser.close();
    }
    
    autoSignInAndComment();
    
  3. 自动邮件发送

    const nodemailer = require('nodemailer');
    
    const transporter = nodemailer.createTransport({
        service: 'gmail',
        auth: {
            user: 'your-email@gmail.com',
            pass: 'your-email-password'
        }
    });
    
    const mailOptions = {
        from: 'your-email@gmail.com',
        to: 'recipient-email@example.com',
        subject: 'Hello',
        text: 'Hello world?'
    };
    
    transporter.sendMail(mailOptions, (error, info) => {
        if (error) {
            return console.log(error);
        }
        console.log('Message sent: %s', info.messageId);
    });
    

请注意,实际开发中需处理登录状态保持、反爬虫机制、错误处理等复杂情况。

回到顶部