1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 小白也可以开发闲鱼自动化工具(自动找爆款)

小白也可以开发闲鱼自动化工具(自动找爆款)

时间:2021-12-20 08:49:09

相关推荐

小白也可以开发闲鱼自动化工具(自动找爆款)

在闲鱼上,我们的课程里面教给大家,如何找爆款,主要是看数据,分析,那么这个分析过程,能否自动化下?

事实是可以的。这个是这几天写的一个,自动化分析电脑这个词下面的一些爆款,分析,自动操作,节省我们的时间。

脚本整体的思路是:

主页,点击搜索,搜索电脑,然后逐页,逐个进行解析,找到关键字,对于浏览数和想要数,是我们期望的,则统计,如果不是,下一个。

这样子持续操作,统计出来的数据,就可以默认作为爆款,用过滤后的数据,再去分析就很轻松了。

以下,分享下源码,大家可以看看,随后会补充记录,自动统计到一个文本中去。

统计的格式:链接,比率,文本(后期想着把图片也一起存下来,还在找接口中,这样子就实现了自动下载,自动一键上架了)

下来看下代码:

home()

setScreenMetrics(1080, 1920)

function check_click(widget, message) {

if (widget != null) {

//toast(widget.text())

//widget.click();

if (!click(widget.bounds().centerX(), widget.bounds().centerY())) {

return false;

} else {

return true;

}

} else {

toast(message);

return true;

}

}

回到桌面,然后设置分辨率,做了一个接口,点击控件,这里加入了返回值,原因是有时会出现错误点击,进行一次处理。

实际操作的时候发现,这个autojs获取的位置信息,有时候会有点偏差,但是实际影响不大,我们的规避就是,多操作几次(因为每一次搜索,实际出来的结果也不一样,刚好多次抓取)

function back_block() {

back();

sleep(2000);

}

做了一个返回函数,做的sleep是等待回到正常界面。(闲鱼里面比较麻烦的是,activity是同一个,本来想靠着这个来做一次判断,保证在正常的界面,但是这个不行,后面尝试用别的元素,做一次判定,会增加代码的可靠性)

function print_hot_cake(widget) {

for (let i = 0; i < widget.length; i++) {

log("开始检索");

log(widget[i].bounds().centerY() + "---" + device.height)

if (widget[i].bounds().centerY() > device.height) {

log("结束此项,已经到边界外");

break;

}

if (!check_click(widget[i], "返回闲鱼主界面")) {

continue;

}

sleep(5000)

var w = descContains("人想要").findOne(2000);

if (w == null) {

log("忽略此项,不是闲鱼界面,淘宝界面忽略");

back_block();

continue;

}

log(w.desc())

var xy = w.desc().match(/(\d+)人想要/);

var ll = w.desc().match(/(\d+)浏览/);

if (xy == null) {

log("忽略此项-----");

back_block();

continue;

} else if (ll == null

) {

log("忽略ll 此项-----");

continue;

}

var rate = parseFloat(xy[1]) / parseFloat(ll[1]);

if (rate < 0.1) {

log("忽略此项");

back_block();

continue;

} else {

log("找到一個");

//找到的数据,开始进行分析,处理

back_block();

continue;

}

log(currentActivity());

}

}

这段代码比较复杂:

if (widget[i].bounds().centerY() > device.height) {

log("结束此项,已经到边界外");

break;

}

if (!check_click(widget[i], "返回闲鱼主界面")) {

continue;

}

首先判定是否在边界外,在的话点击是失效的,直接退出,然后点击,点击失败后继续(这个是因为有时候点击中心点,恰巧是一个不可点击区域,做了规避)

点击后,休眠5s,原因是等待下个界面,有时候加载慢。

sleep(5000)

var w = descContains("人想要").findOne(2000);

if (w == null) {

log("忽略此项,不是闲鱼界面,淘宝界面忽略");

back_block();

continue;

}

这里是找到当前界面的,想要,定位信息,这个里面包含了,想要数和浏览数,

var xy = w.desc().match(/(\d+)人想要/);

var ll = w.desc().match(/(\d+)浏览/);

if (xy == null) {

log("忽略此项-----");

back_block();

continue;

} else if (ll == null

) {

log("忽略ll 此项-----");

continue;

}

有时候没有浏览数,直接选择下一个,这时候大概率是没有跳转引起的。

var rate = parseFloat(xy[1]) / parseFloat(ll[1]);

if (rate < 0.1) {

log("忽略此项");

back_block();

continue;

} else {

log("找到一個");

//找到的数据,开始进行分析,处理

back_block();

continue;

}

这里计算下比率,如果是我们想要的,输出,找到一个,这里留了一个空白,为我们后续处理数据准备。

toast("闲鱼自动化脚本,明哥开发,更多内容,欢迎联系微信 code_gg_boy ")

sleep(2000)

launchApp('闲鱼')

sleep(2000);

var widget = id("search_bar_layout").findOne()

check_click(widget, "返回闲鱼主界面")

sleep(1000)

widget = className("android.widget.EditText").findOne()

widget.setText("电脑")

widget = desc("搜索").findOne()

check_click(widget, "返回闲鱼主界面")

sleep(2000)

这段代码,是点击,启动闲鱼,进入搜索框,输入搜索内容,点击搜索,进入搜索结果界面。

for (let index = 0; index < 10; index++) {

widget = descContains("人想要").find();

log(widget.length)

print_hot_cake(widget);

scrollDown();

sleep(5000);

}

遍历搜索结果,循环十个界面,然后退出,每次遍历完,下拉一屏,然后sleep 5s,这个目的是等界面稳定,防止判断记录出错。(但实际还是会有点偏差,暂时不用管)

好了,代码当前就分享到这里,如果你想学习这块,欢迎加微信:code_gg_boy ,预定一套课程,从零开始学会自动化。

如果你也想让自己平时有些收入,欢迎加入我们训练营5期:

史上最低,闲鱼21天训练营5期报名了!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。