Lua:
ウェブページのダウンロード
How to: (方法)
以下はLuaの最新バージョンでウェブページをダウンロードする簡単な方法です。lua-requests
ライブラリを使うと、手軽にHTTPリクエストができます。
-- 必要なライブラリをインストールします。
-- luarocks install lua-requests
local requests = require('requests')
local response = requests.get('http://example.com')
if response.status_code == 200 then
print(response.text) -- ウェブページの内容を出力
else
print('Error:', response.status_code)
end
実行すると、example.comの内容がターミナルに表示されます。
Deep Dive (深掘り)
ウェブスクレイピングの歴史は、インターネットが生まれた頃から始まります。初期はコマンドラインツール(wget
, curl
等)が使われていました。今でもこれらは有力な選択肢ですが、Luaのような言語を使うメリットは、データの抽出や自動化がしやすいことです。
lua-requests
はPythonのrequests
ライブラリに触発されており、簡潔にHTTPリクエストを扱う事が出来ます。でも、もしこのライブラリが使えない環境の場合、socket.http
やio.popen
でcurl
を呼び出すことも代替手段として検討できます。
実装の詳細を見ると、lua-requests
は内部でLuaSocketを使い、非同期処理ではなく同期的にリクエストを処理します。非同期リクエストが必要な場合、別のライブラリを探す必要があります。
See Also (関連リンク)
- LuaSocketのドキュメント: http://w3.impa.br/~diego/software/luasocket/
- luarocksのlua-requests: https://luarocks.org/modules/hisham/lua-requests
- LuaのHTTPクライアントライブラリ比較: https://lua.space/webdev/choosing-a-http-client-library
wget
マニュアル: https://www.gnu.org/software/wget/manual/wget.htmlcurl
マニュアル: https://curl.se/docs/manual.html