• Splash Lua 脚本


    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 results
    end

        

  • 相关阅读:
    Jquery弹出框插件大全
    RGB颜色在线转换
    正则表达式最后加一个/g或者/ig代表什么意思
    JS实现页面上链接新窗口打开
    防止网站服务器被黑的一些方法
    JS中字符串背后的秘密
    ASP.NET MVC 路由规则写法
    日积月累从细节做起
    VC++ 配置困惑
    父类子类指针函数调用注意事项
  • 原文地址:https://www.cnblogs.com/pzk7788/p/10552001.html
Copyright © 2020-2023  润新知