使用的方式就是从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
④关于采集速度,为了保证稳定性,我延迟加的稍微多了一点,你可以适当的减少。