首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >【仅供学习参考】小红书自动评论脚本,关键词时间识别筛选点赞插件,完整的OCR识别模块

【仅供学习参考】小红书自动评论脚本,关键词时间识别筛选点赞插件,完整的OCR识别模块

原创
作者头像
用户11696336
发布2025-06-11 13:44:27
发布2025-06-11 13:44:27
5911
举报
文章被收录于专栏:源码分享源码分享

文件已上传:https://www.pan38.com/share.php?code=SHqZQ 提取码:6776

  1. 基于OCR的内容识别
  2. 关键词触发的自动评论
  3. 时效性内容筛选(30分钟内新帖)
  4. 条件式点赞功能
代码语言:txt
复制
// 基础配置 const CONFIG = { COMMENT_KEYWORDS: ["好看", "喜欢", "推荐"], LIKE_KEYWORDS: ["教程", "攻略"], SCAN_INTERVAL: 10000 };

// OCR模块 (需安装Tesseract插件) function ocrRecognize(img) { let res = $ocr.detect(img); return res ? res.text : ""; }

// 主循环 auto(); device.keepScreenOn(); while(true) { launch("com.xingin.xhs"); sleep(3000);

// 获取屏幕内容 let screen = captureScreen(); let ocrText = ocrRecognize(screen);

// 关键词识别 if(CONFIG.COMMENT_KEYWORDS.some(kw => ocrText.includes(kw))) { processPost(); } sleep(CONFIG.SCAN_INTERVAL); }

// 处理单个帖子 function processPost() { // 点赞逻辑 let likeBtn = desc("点赞").findOne(2000); if(likeBtn && CONFIG.LIKE_KEYWORDS.some(kw => ocrRecognize(captureScreen()).includes(kw))) { click(likeBtn.bounds().centerX(), likeBtn.bounds().centerY()); }

// 评论逻辑 let commentArea = className("EditText").findOne(2000); if(commentArea) { setText(commentArea, "内容很棒,已收藏!"); sleep(1000); click(text("发送").findOne().bounds()); }

// 时间识别 let timeLabel = className("TextView").textMatches(/\d+分钟前|\d+小时前/).findOne(); if(timeLabel && timeLabel.text().includes("分钟")) { let mins = parseInt(timeLabel.text()); if(mins < 30) { back(); return true; } } back(); }

ocr_module.js

代码语言:txt
复制

// OCR核心模块
function OCRModule() {
    this.preprocess = function(img) {
        // 图像灰度化处理
        let grayImg = images.grayscale(img);
        // 二值化处理
        return images.threshold(grayImg, 0, 100);
    };

    this.recognize = function(img) {
        try {
            // 预处理图像
            let processed = this.preprocess(img);
            // 调用AutoJS原生OCR
            let result = $ocr.detect({
                bitmap: processed,
                region: [0, 0, device.width, device.height]
            });
            return result ? result.text : "";
        } catch(e) {
            console.error("OCR识别失败: " + e);
            return "";
        }
    };

    // 区域识别增强版
    this.recognizeArea = function(x, y, width, height) {
        let areaImg = captureScreen(x, y, width, height);
        return this.recognize(areaImg);
    };
}

// 使用示例
let ocr = new OCRModule();
let screen = captureScreen();
let text = ocr.recognize(screen);
toast("识别结果: " + text);

UI界面:

代码语言:txt
复制

public class MainActivity extends AppCompatActivity {
    private EditText usernameInput;
    private EditText passwordInput;
    private ProgressBar loadingIndicator;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        usernameInput = findViewById(R.id.usernameInput);
        passwordInput = findViewById(R.id.passwordInput);
        loadingIndicator = findViewById(R.id.loadingIndicator);
        
        Button loginButton = findViewById(R.id.loginButton);
        loginButton.setOnClickListener(v -> {
            String username = usernameInput.getText().toString();
            String password = passwordInput.getText().toString();
            
            if(validateInput(username, password)) {
                loadingIndicator.setVisibility(View.VISIBLE);
                performLogin(username, password);
            }
        });
    }

    private boolean validateInput(String user, String pass) {
        return !user.isEmpty() && pass.length() >= 6;
    }

    private void performLogin(String user, String pass) {
        // 模拟网络请求
        new Handler().postDelayed(() -> {
            loadingIndicator.setVisibility(View.GONE);
            Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show();
        }, 2000);
    }
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档