Python爬虫编程思想(106):基于Splash的爬虫--异步处理与go函数

Posted 蒙娜丽宁

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python爬虫编程思想(106):基于Splash的爬虫--异步处理与go函数相关的知识,希望对你有一定的参考价值。

        Splash支持异步处理,例如,go函数就是通过异步方式访问页面的,不过go函数并不能指定异步回调函数,所以在调用go函数后,需要使用wait函数等待一会,这样可以给页面装载留有一定的时间。

        下面的例子通过对于lua数组进行迭代,得到数组中的URL,并组合成完整的URL,然后通过go函数访问这些URL,并得到每一个URL对应页面的截图。
 

function main(splash,args)
    -- 定义一个Lua数组,数组元素是URL的一部分
    local urls = "www.baidu.com","www.jd.com","www.microsoft.com" 
    --  定义保存截图的字典变量
    local results = 
    -- 对URL数组进行迭代
    for index, url in ipairs(urls) do
        --  访问对应的URL,如果ok为nil,所以有错误,reason是错误原因
        local ok,reason = splash:go("https://"..url)
        if ok then
            -- 等待1秒
            splash:wait(1)
            --  得到当前页面的截图
            results[url] = splash:png(

以上是关于Python爬虫编程思想(106):基于Splash的爬虫--异步处理与go函数的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫编程思想(104):Splash基础(支持Lua的轻量级浏览器)

Python爬虫编程思想(107):基于Splash的爬虫--对象属性

Python爬虫编程思想(108):基于Splash的爬虫--go函数与wait函数

Python爬虫编程思想(110):基于Splash的爬虫--更多的Lua函数

Python爬虫编程思想(105):基于Splash的爬虫--第1个Lua脚本

Python爬虫编程思想(105):基于Splash的爬虫--第1个Lua脚本