薅羊毛 | 利用手机每天薅个早餐钱

  以腾讯视频极速版为首,包含趣头条、东方头条、全名小视频在内的 App 都有看新闻、视频送金币的活动,当金币达到一定量后,就可以提现到微信、支付包。

  如果单纯靠人工去点击看新闻和视频,会浪费很多时间。本文的目标是利用auto.js驱动手机去看新闻,每天帮我们薅一个早餐钱。

auto.js简介

什么是auto.js

auto.js是一个支持无障碍服务的Android平台上的JavaScript IDE,可以编写各种自动化脚本,它主要有以下优点:

  1. 无需root:基于无障碍服务;
  2. 基于控件:以坐标为基础的按键精灵、脚本精灵很容易出现分辨率问题,而以控件为基础的Auto.js则没有这个问题;
  3. 上手简单:使用javascript编写,支持中文变量名;
  4. 可打包 :可以将JavaScript打包为apk文件,这一点可以简化用户操作,对上了年纪的用户很重要;

另外auto.js还有结合Tasker、自动布局分析、生成简单代码等功能,详见官方文档,这里就不搬运了~

auto.js能做什么

auto.js可以替代用户做一些手机操作,比如以下脚本:

  1. 一键收集蚂蚁森林能量
  2. 微信跳一跳脚本
  3. 支付宝星星球脚本
  4. 手机屏幕取色器
  5. 百度贴吧一键签到
  6. 东方头条、趣头条自动刷金币
  7. 超星尔雅学习刷课脚本
  8. 王者荣耀刷金币

auto.js怎么用

首先下载auto.js APP,地址在下方

  1. 安装并打开,会提示需要启用无障碍服务,点击去设置,会跳转到手机设置-系统-无障碍页面,在应用列表选择Auto.js,开启无障碍服务即可;
  2. 回到APP主页,点击页面上方脚本选项卡,进入脚本列表,右下角可以选择导入脚本,或者新建文件或文件夹,我们新建一个send.js,点击三角标志可以运行脚本,我们首先点击铅笔图标进入编辑页面;
  1. auto.js提供了很好的手机端辅助编辑工具,我们输入以下代码,这段代码可以实现输入一段文字,并发送给QQ好友:

    //本示例来自官方文档,是一个QQ文本消息分享脚本
    var content = rawInput('请输入要分享的文本');
    //启动QQ发送组件
    app.startActivity({
        action: "android.intent.action.SEND",
        type: "text/*",
        extras: {
          "android.intent.extra.TEXT": content
        },
        packageName: "com.tencent.mobileqq",
        className: "com.tencent.mobileqq.activity.JumpActivity"
    });
    
  1. 右上角点击保存,然后点击运行按钮,运行示例如下:


  1. 发送成功后脚本运行结束,可以在auto.js APP里查看日志,对于循环调用的脚本,推荐在APP设置里打开音量上键停止所有脚本,这样也避免了我们不小心写了死循环的情况。
  2. auto.js也可以使用电脑开发,推荐使用vscodeAuto.js-VSCodeExt插件,使用很简单,详见https://github.com/hyb1996/Auto.js-VSCode-Extension

相关资料

官方文档:https://hyb1996.github.io/AutoJs-Docs/

Github:https://github.com/hyb1996/Auto.js

APP下载地址:

bilibili视频教程: https://www.bilibili.com/video/av35582484?from=search&seid=12319191216902661794

bilibili文字教程:https://www.bilibili.com/read/cv1033982

薅羊毛脚本示例

好了我们进入正题,如何使用自动化脚本薅一把羊毛呢?这让我不得不想到我们小镇的薅羊毛团体:他们白天霸占公园,晚上霸占广场,连朋友圈,都被他们转发的新闻链接霸占~

没错,他们就是大爷大妈们,他们长期使用东方头条、趣头条等软件,每天手动看新闻刷金币,分享新闻刷金币,最后使用金币兑换人民币并提现,以此达到薅资本主义羊毛的目的。

我简单了解了一下,新手阶段过去之后,一个APP大概要两三天能得到一元钱,这真是个体力活呢,算时薪的话几乎没法看了~

而且跳广场舞的时候又不能使用手机看新闻,这真是广场舞与羊毛不可兼得啊,这正是我们自动化脚本的用武之处:这边手机自动刷着新闻,那边跳了一轮又一轮,跳完舞还可以对比一下谁刷的金币多,啊,仿佛看见了广场舞自由~


好了,不开玩笑了,使用脚本刷金币的行为是被厂家所禁止的,所以以下脚本仅供学习交流使用,严禁使用于任何商业用途

腾讯新闻极速版自动读新闻脚本

我们以腾讯新闻极速版v1.6.20为例,简单介绍一下思路:

  1. 首先打开app,如果不是首页的要先回到首页:

    app.launchApp("腾讯新闻极速版");
    backHomePage(8);
    
    function backHomePage(flag) {
        log("返回主页函数调用次数" + flag)
        if (flag < 0) {
            start();
        } else if (!isHomePage()) {
            back()
            sleep(1500)
            backAndEnter(--flag)
        }
    }
    
    function isHomePage() {
        //判断有无评论组件,防止把视频新闻页面误判为首页
        return currentActivity() === "com.tencent.news.activity.SplashActivity" && id(assemblyId.isHomePage).findOne(200) == null;
    }
    
  2. 获取新闻列表,点击进入新闻页面,判断有没有红包,没有的话返回首页,刷新新闻后重新进入新闻页面:

    var ar = id(assemblyId.newList).find();
    ar.get([num]).parent().click();
    if (id(assemblyId.redPacket).exists()) {
        sleep(1000);
        toNextNew();
    } else {
        backAndEnter(8)
        refreshNews()
    }
    
  3. 如果有红包,则使用swipe模拟滑动到页面最底部,等待红包打开后,上拉进入下个新闻:

    scrollDown();
    log("滑动完成,等待红包")
    waitTipOpen(500);
    log("判断暂无相关内容")
    if (text("暂无相关内容").exists()) {
        backAndEnter(8);
        refreshNews();
    } else {
        randomSwipeDown(1000, 300);
        readNews();
    }
    
    //滑动到最后
    function scrollDown() {
        while (!(text("查看更多评论").exists() || id(assemblyId.sofa).exists())) {
            if (waitArr[waitFlag]) {
                sleep(waitArr[waitFlag++])
            }
            randomSwipeDown(1100, 300);
        }
    }
    
    //等待红包打开,超过8秒未打开则继续
    function waitTipOpen(i) {
        if (id(assemblyId.redPacket).exists() && i > 0) {
            sleep(10);
            waitTipOpen(--i);
        }
    }
    
  4. 如果下一条新闻没有红包,那就返回首页,刷新新闻后重新进入新闻页面;

以上几步就可以完成一个简单的自动阅读脚本,运行后就可以不停的阅读新闻了。是不是很简单,但是实际编写测试中会有很多坑,因为脚本运行起来有很多不确定性,经常卡在奇怪的地方,需要花许多时间调试才能获得一个稳定版本。

建议有兴趣的伙伴,可以自行学习并编写脚本,我已经调试出了一个稳定版本,可以稳定执行到手机没电的那种,下面给出github地址,欢迎感兴趣的朋友交流学习:

https://github.com/forgetallthing/autojsScripts

脚本增加了休息模式,可以在脚本中编辑工作时长和休息时长:

var config = {
    mode: "new",
    startNewNo: 7, //从第几个新闻开始(0-10)
    continuReadNum: 20, //连续阅读数,防止app出现不能通过向上滑动切换新闻的情况
    workTime: 60000 * 45, //工作时间
    restTime: 60000 * 1, //休息时间
    noRest: false, //不休模式
}

github中有安装和使用此脚本的示例gif和视频,我会在github中持续更新脚本,喜欢的点个star,不胜感激。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,126评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,254评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,445评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,185评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,178评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,970评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,276评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,927评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,400评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,883评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,997评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,646评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,213评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,204评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,423评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,423评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,722评论 2 345

推荐阅读更多精彩内容