Lua はクールな言語で、軽量で非常に高速です。
しかし要点は、あなたが言及したタスクにとってパフォーマンスはそれほど重要ですか?
- 一連のファイルの名前を変更する
- Web からいくつかのファイルをダウンロードする
- ウェブスクレイピング
それらのプログラムを 1 回作成し、1 回実行することもあるでしょう。一度だけ実行されるプログラムのパフォーマンスをそれほど気にするのはなぜですか?
例えば:
- C/C++ プログラムを作成するのに 3 時間かかり、データを 1 回処理するには、プログラムの実行に 1 時間かかります。
- データを処理する Python プログラムを 1 回作成するのに 30 分かかります。プログラムの実行には 10 時間かかります。
最初のものを選択すると、プログラムを実行する時間を節約できますが、プログラムの開発に時間がかかります。
一方、2 番目を選択すると、プログラムの実行に時間がかかりますが、プログラムの実行中に他のことを行うことができます。World of Warcraft をプレイして、ウォーロックでモンスターを倒してみませんか? 私のDOTを食べてください!:P
それでおしまい!Lua を書くのはそれほど難しくありませんが、Lua に関するすべてが効率的に設計されています。さらに、Lua 用のモジュールはほとんどありませんが、Python 用のモジュールは非常に多くあります。一度だけ実行するプログラムのためだけに、C ライブラリを Lua に移植したくありませんか? 代わりに、Python を選択し、それらのモジュールを使用してタスクを簡単に達成することをお勧めします。
参考までに: 実際、Lua を使用して Web スクレイピングを実行しようとしましたが、最終的に、言語のパフォーマンスをそれほど気にする必要がないことに気付きました。ウェブスクレイピングのボトルネックは、言語のパフォーマンスではありません。ボトルネックは、ネットワーク I/O、HTML 解析、およびマルチタスクにあります。私がしなければならないことは、プログラムが機能することを確認し、ボトルネックを見つけることだけです。最終的に、Lua ではなく Python を選択しました。非常に多くの優れた Python モジュールがあります。自作する理由がありません。
ウェブスクレイピングに関する私の経験によれば、ウェブスクレイピング プログラムのバックエンドとして、ネットワーク I/O には Twisted を選択し、HTML 解析には lxml を選択しました。この技術の紹介記事を書きました。
Web サイトからデータを取得するための最良の選択: Python + Twisted + lxml
これが役に立てば幸いです。