
Splash 可以通过 Lua 脚本执行一系列渲染 *** 作,这样我们就可以用 Splash 来模拟浏览器的 *** 作了,Splash Lua 基础语法如下:
function main(splash,args) # main()方法是入口,名称必须固定的,Splash默认调用这个方法 splash:go("http://www.baIDu.com") # go()方法用于加载页面 splash:wait(0.5) # wait()方法用于等待指定的时间 local Title = splash:evalJs("document.Title") # evalJs()方法用于传入并执行JavaScript脚本,这里将执行结果赋值给Title变量 return Title # 返回Title变量的值,结果是一个字符串:"百度一下,你就知道" end # 也可以以字典的形式返回,如 return {Title=Title} ,则结果为:Title: "百度一下,你就知道"
Splash 也支持异步处理:
在脚本内调用的 wait() 方法类似于 Python 中的 sleep(),其参数为等待的秒数。当 Splash 执行到此方法时,它会转而去处理其他任务,然后在指定的时间过后再回来继续处理。
function main(splash,args) local example_urls = {"www.baIDu.com","www.hao123.com","www.zhihu.com"} local urls = args.urls or example_urls local results = {} for index,url in ipairs(urls) do local ok,reason = splash:go("http://" .. url) if ok then splash:wait(2) results[url] = splash:png() end end return resultsend总结
以上是内存溢出为你收集整理的Splash Lua 脚本全部内容,希望文章能够帮你解决Splash Lua 脚本所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)