3.自动化工具.autojs模拟用户抖音列表接口的部署

优采云 发布时间: 2021-08-08 21:11

  3.自动化工具.autojs模拟用户抖音列表接口的部署

  目的:采集抖音非常受欢迎的视频(要自动化)

  抖音的防爬技术很好,据说还有防爬的部门。所以通过编写代码直接访问抖音接口,是达不到目的的。数据只能通过模拟真实用户行为获得。

  我的主要实现方式是:通过在Android模拟器中模拟用户的滑动,通过网络代理拦截滑动过程中产生的数据

  开发中使用的工具:

  硬件:需要一台免费的电脑,

  软件:auto.js、Android模拟器、代理服务项目、按钮向导、抓包工具

  开发过程

  1 确定抖音的哪个接口使用采集data

  考虑从首页推荐列表或用户工作列表中获取数据。

  我用的fiddler抓包工具,

  抓取首页推荐列表界面,发现数据格式为Protobuf,是一种传输速度更快,占用空间更少的数据格式。解析这种格式需要支持文件。所以我们无法解析并放弃页面推荐列表。

  尝试从用户的工作列表界面抓包,发现是json格式,可以获取视频信息。所以我决定获取用户作品列表采集。

  

  

  2.自动化工具auto.js模拟用户滑动抖音list

  为了保证采集的视频受欢迎,我们用户的作品并非都是采集。所以我们模拟了用户的行为:在首页的推荐视频中滑动,滑动到超过10万赞的视频,向左滑动,进入视频作者的作品列表。

  首先在你的电脑上安装安卓模拟器,我用的是天天模拟器

  在模拟器中安装抖音和auto.js应用,编写auto.js自动化脚本,并运行脚本。

  

  这是我写的 auto.js 脚本。供您参考

<p>var myDate = new Date();

var hours = myDate.getHours();

if (hours >= 0) {

console.log("去启动抖音");

launchApp("抖音");

sleep(7000)

while (true) {

是否满足赞();

左滑进入个人中心();

判断是否出去();

关闭崩溃应用();

toast("quit persion center ")

退出个人中心();

//Swipe(10, device.height / 2,device.width / 2, device.height / 2, 10, 300);//向右滑

sleep(2000);

toast("hua dong cao zuo ")

Swipe(device.width / 2, device.height / 1.5, device.width / 2, 10, 500); //向下滑

sleep(3000);

每10分钟重启();

取消弹框();

判断是否出去();

关闭崩溃应用();

}

}

function 是否满足赞() {

log("是否满足赞")

try {

//不满足1万的赞划走

while (isTrue()) {

Swipe(device.width / 2, device.height / 1.5, device.width / 2, 10, 500); //向下滑

toast("Dig not satisfied")

sleep(1500);

退出个人中心();

}

} catch (e) {}

}

function isTrue() {

// var u = id("aen").find()

// var e = u.length - 2

// var tv = u[e];

return false;

var like = 0;

try {

var b = id("com.ss.android.ugc.aweme:id/aer").find();

var a = b[1].desc()

if (a && a.indexOf("喜欢") > -1) {

like = a.substring(a.indexOf("喜欢") + 2, a.indexOf(",按钮"));

toastLog(like);

}

} catch (e) {}

if (like.indexOf("w") == -1) {

return true;

} else {

return like.substr(0, like.indexOf("w")) -1) {

if (parseInt(totallike.substr(0, totallike.length - 1)) >= 1000) {

//关注作者

payAttention(totallike, totalfans, uniqueid, authorname);

}

}

//总点赞数或粉丝数大于1亿 关注作者并抓取更多

if (authorname && totallike.indexOf("亿") > -1 || totalfans.indexOf("亿") > -1) {

//关注作者

loadMore = payAttention(totallike, totalfans, uniqueid, authorname);

}

//粉丝量大于500W 关注作者, 如果粉丝量大于1000W 抓取作者更多作品

if (authorname && totalfans.indexOf("w") > -1) {

var fansCount = parseInt(totalfans.substr(0, totalfans.length - 1));

if (fansCount >= 500 && fansCount = 1000) {

loadMore = payAttention(totallike, totalfans, uniqueid, authorname);

}

}

if (loadMore) {

sleep(4000);

log("into swipe action ")

for (var i = 0; i

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线