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