Lua:
การดาวน์โหลดหน้าเว็บ
วิธีการ:
Lua ออกมาจากกล่องโดยไม่ได้เตรียมไว้สำหรับงานเว็บ แต่ด้วยไลบรารี่ socket
และโมดูล http
มันก็เป็นเรื่องง่าย นี่คือตัวอย่างการใช้ LuaSocket อย่างรวดเร็ว:
-- อย่าลืมติดตั้ง LuaSocket: `luarocks install luasocket`
local http = require("socket.http")
local body, code = http.request("http://www.example.com")
if code == 200 then
print(body) -- สำเร็จ! พิมพ์เนื้อหาเว็บเพจ.
else
print("มีบางอย่างผิดพลาด :(", code)
end
ผลลัพธ์ตัวอย่าง:
<!doctype html>
<html>
<head>
<title>Example Domain</title>
...
ขุดลึก
ก่อนมี LuaSocket, การดาวน์โหลดเนื้อหาเว็บใน Lua นั้นยุ่งยากกว่า การใช้ io.popen
เรียก curl
หรือ wget
เป็นวิธีทั่วไป
LuaSocket มีมาตั้งแต่ปี 2004, ทำให้การทำงานเครือข่ายเช่นการร้องขอ HTTP ง่ายขึ้นใน Lua มันทำงานโดยการห่อการเรียก API ของ socket TCP/IP ให้เข้ากับฟังก์ชัน Lua ที่ใช้งานง่าย สำหรับ HTTPS, LuaSec สามารถใช้ร่วมกันได้
ความสามารถในการขยายตัวของ Lua หมายความว่าคุณยังสามารถใช้กรอบงานหรือโมดูลตาม Lua อื่นๆ เช่น OpenResty สำหรับการทำงานเว็บที่ซับซ้อนมากขึ้นภายในสภาพแวดล้อมเซิร์ฟเวอร์เว็บประสิทธิภาพสูง
โปรดจำไว้ว่า หากคุณกำลังดำเนินการเก็บข้อมูลเว็บมากมายหรือการประมวลผลที่ซับซ้อน Lua อาจจะไม่ใช่ตัวเลือกของคุณ Python ด้วยไลบรารี่เช่น Requests และ Beautiful Soup อาจจะเหมาะกับคุณมากกว่า
ดูเพิ่มเติม
- เอกสาร LuaSocket: http://w3.impa.br/~diego/software/luasocket/
- LuaSec (สำหรับการสนับสนุน HTTPS): https://github.com/brunoos/luasec/wiki
- OpenResty สำหรับการทำงานเว็บที่ซับซ้อนมากขึ้น: https://openresty.org/en/