Lua指令碼獲取喜馬拉雅MP3音訊地址

NO IMAGE

參考此文://www.jb51.net/softjc/314839.html

在Linux下可以直接執行


#!/usr/bin/lua5.1
--需要luacurl http://luacurl.luaforge.net/
--luajson https://github.com/mbalmer/luajson
require("luacurl")
require('json')


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


function downMp3(id)
  
  local url="http://www.ximalaya.com/tracks/"..id..".json"
  local mp3 = "http://fdfs.xmcdn.com/"
  local ok,html = get_html(url)
  if ok then
    local result = json.decode(html)
    print(mp3..result.play_path_64)
  else
    print("error")
  end
end
if arg[1] and tonumber(arg[1]) then
  downMp3(arg[1])
else
  print("請輸入編號")
end