level 1
我想用雨滴自带的webparser爬取微博热搜的词条作为练习,但网页返回的是json数据格式,正则表达式不太好用,就打算用lua,我查了一下方法,用cjson来解析,我将webparser插件获取的网页数据传递给lua文件,但总是不显示,不知道哪出了问题
2023年06月20日 05点06分
3
level 9
雨滴内置的lua(环境)好像不支持调用库
另,你是不是在另一个已被吧主删除的帖子里问过我和问我要有关lua的皮肤?
2023年06月20日 06点06分
4
是的,不是我删的,贴吧删的
![[泪]](/static/emoticons/u6cea.png)
,我发现这东西真的很容易劝退人,很难找出错误
2023年06月20日 06点06分
好像也无法自己安装库,官网上的手册似乎没有说到这方面的信息
2023年06月20日 07点06分
@somi 啊。我下载了一个cjson.dll在lua文件里面能调用吗
2023年06月20日 07点06分
@贴吧用户_Q3QaZCD cjson.dll----如果你知道它的使用方法,或许可以放到插件文件夹里,当插件使用,不过我想编写cjson.dll的那个人并没有给出在雨滴中使用的方法吧。
2023年06月20日 07点06分
level 9
下面的内容是通过图片识别而来,所以有些单词或参数可能跟你原图不一样,将就着看吧,我懒得一一对照更改了
function GetWeiboHotSearch()
local hotsearch = SKIN:GetMeasure( gethotsearch'):GetStringvalue():gsub(·\r\n%s+'
local note=hotsearch:match('f"district:([,]+)“,“stationid:*101010100”]')
SKIN:Bang('[!Setoption meterweibo Text “..note.."][!UpdateMeter meterweibo][!Redraw]')
end
2023年06月20日 15点06分
7
好的,感谢🙏
2023年06月20日 16点06分
感谢,会少走很多弯路
2023年06月21日 06点06分
level 9
分享几个常用到的用法给你(等号前面的中文改成变量名就可以):
取得变量值=SKIN:GetVariable('在皮肤上设置的变量名'),是个字符串类型,如果要转为数字,加上tonumber()
取得Measure值=SKIN:GetMeasure('Measure'):GetStringValue(),字符串,取得webparser获取到的信息会常用到
取得Measure值=SKIN:GetMeasure('Measure'):GetValue(),数字类型
取得METER的坐标与长宽:
X=SKIN:GetMeter('MeterName'):GetX()
Y=SKIN:GetMeter('MeterName'):GetY()
W=SKIN:GetMeter('MeterName'):GetW()
H=SKIN:GetMeter('MeterName'):GetH()
取得Meter选项值(字符串)=SKIN:GetMeter('MeterName'):GetOption('SolidColor', '000000--如空使用预设的000000')
向皮肤传递执行的Bang
SKIN:Bang('')
显示/隐藏Meter
SKIN:GetMeter('MeterName'):Show()
SKIN:GetMeter('MeterName'):Hide()
可用以下写法代替
SKIN:Bang('[!ShowMeter 我要显示你]')
SKIN:Bang('[!HideMeter 我要隐藏你]')
写入 - 变量值( Variables.inc可带可不带,可带可不带路径)
SKIN:Bang('[!WriteKeyValue Variables 代码 600000 Variables.inc]')
设置 - 变量值
SKIN:Bang('[!SetVariable ]')
如
SKIN:Bang('[!SetVariable 5]')
SKIN:Bang('[!SetVariable ' .. freq ..']')
设置 - 选项值
SKIN:Bang('[!SetOption ]')
如
SKIN:Bang('[!SetOption 秒钟 Text 秒钟]')
常用到lua方法有(如果你不是lua初哥下面的内容可忽略)
匹配 - gmatch:string.gmatch(str, pattern)
截取 - sub:string.sub(要截取的字符串,开始位置[,结束位置])
替换 - gsub:s1,c1 = string.gsub(字符串,被替换的,要替换成的[,替换次数])
查找 - find:string.find(str, substr, [init, [end]])
格式化 - format:string.format(...)
配对 - match:string.match(str, pattern, init)
还有循环和对表的操作如历遍表 ipairs、表插入:table.insert(table, 位置, value)等,都会常用到
2023年06月21日 06点06分
8