六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 106|回复: 0

lua 读取网页

[复制链接]

升级  48%

6

主题

6

主题

6

主题

童生

Rank: 1

积分
24
 楼主| 发表于 2013-1-19 04:14:51 | 显示全部楼层 |阅读模式
c下面有个著名的curl,libcurl与lua绑在一起就是luacurl,在lua包里例子程序里有curltest.lua测试程序。抓取网页程序得依靠这个库。下面是搜的一段程序,注释是我加的。

curl = require "luacurl"

function get_html(url, c)
    local result = { }
    if c == nil then
        c = curl.new()
    end
    c:setopt(curl.OPT_URL, url)
    c:setopt(curl.OPT_WRITEDATA, result)
    c:setopt(curl.OPT_WRITEFUNCTION, function(tab, buffer)     --call back函数,必须有
        table.insert(tab, buffer)                      --tab参数即为result,参考http://luacurl.luaforge.net/

        return #buffer                        
    end)
    local ok = c:perform()
    return ok, table.concat(result)             --此table非上一个table,作用域不同
end

ok, html = get_html("http://www.baidu.com/")
if ok then
    print (html)
end
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表