curl = require("luacurl")
--下载这个页面的.java文件
downloadurl = "http://www.cs.princeton.edu/~rs/talks/LLRB/Java/"
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(downloadurl)
if ok then
--分析页面返回的.java的地址
for k in string.gfind(html, ">(%w+.java)<") do
ok,javacode = get_html(downloadurl .. k)
file = io.open("./"..k, "w");
if(file) then
file:write(javacode);
file:close();
end
end
else
print ("Error" )
end
lua抓取网络文件
最新推荐文章于 2022-06-13 22:55:10 发布