
使用的方式就是从xml节点中提取文字。 代码如下:
Import "jsdvip.luae"
jsdvip.StartServer
jsdvip.SetClickR true, 0.3, 0.6, 0.3, 0.6
Dim x=GetScreenX()
Dim y=GetScreenY()
Dim path="/sdcard/pictures/抖音.csv"
If Len(file.read(path)) = 0 Then
file.Write (path)
file.Append (path, "用户名,抖音号,介绍,获赞量,关注量,粉丝量,作品数n")
Else
TracePrint "已经添加表头"
End If
For 5
If jsdvip.click("By.res('com.ss.android.ugc.aweme:id/emy')", 2000) then
Delay 2000
TracePrint "点击完成"
Dim 用户名=jsdvip.GetText("By.res('com.ss.android.ugc.aweme:id/d8b')",2000)
Dim 抖音号=jsdvip.GetText("By.res('com.ss.android.ugc.aweme:id/ge1')",2000)
//Dim 介绍=jsdvip.GetText("By.res('com.ss.android.ugc.aweme:id/gex')",2000)
Dim 获赞量=jsdvip.GetText("By.res('com.ss.android.ugc.aweme:id/akq')",2000)
Dim 关注量=jsdvip.GetText("By.res('com.ss.android.ugc.aweme:id/b7h')",2000)
Dim 粉丝量=jsdvip.GetText("By.res('com.ss.android.ugc.aweme:id/b7c')",2000)
Dim 作品数=jsdvip.GetText("By.res('android:id/text1')",2000)
//介绍=Replace(介绍,Chr(10),"")
Dim 介绍="编码原因不采集"
抖音号 = Replace(抖音号, "抖音号:", "")
作品数 = Replace(作品数, "作品 ", "")
TracePrint 用户名,抖音号,介绍,获赞量,关注量,粉丝量,作品数
file.Append path, 用户名 & "," & 抖音号 & "," & 介绍 & "," & 获赞量 & "," & 关注量 & "," & 粉丝量 & "," & 作品数 & "n"
Delay 400
KeyPress "back"
End if
Delay 1000
Swipe x*0.5,y*0.8,x*0.5,y*0.2,500
Delay 1500
Next

关于这个代码有几点需要说明的:
①代码设置的是采集5个抖音号的,需要更多数量修改for循环的参数
②为了能够分列显示,存入格式csv,需要excel的话,等采集结束,手动另存
③关于采集“介绍”这个内容,我做了代码注释,因为当介绍中含有表情之类的内容,就会发生编码问题,原因是按键保存的是utf8编码,但是如果想要csv正常显示某些字符需要ANSI编码,如果需要采集介绍的内容,在全部采集完,用txt文本打开csv文件,然后改编码为ANSI
④关于采集速度,为了保证稳定性,我延迟加的稍微多了一点,你可以适当的减少。

老马黑科技


