Googlebotがどのプログラミング言語で書かれたか知っている人はいますか?
または、より一般的には、効率的なWebクローラーはどの言語で記述されていますか?
私はJava言語で多くのことを見てきましたが、Webクローラーを開発するのに最適な言語ではないようです。オーバーヘッドが非常に大きくなるためです(Heritrix Webクローラーで試してみましたが、非常に重いです)。
Googlebotがどのプログラミング言語で書かれたか知っている人はいますか?
または、より一般的には、効率的なWebクローラーはどの言語で記述されていますか?
私はJava言語で多くのことを見てきましたが、Webクローラーを開発するのに最適な言語ではないようです。オーバーヘッドが非常に大きくなるためです(Heritrix Webクローラーで試してみましたが、非常に重いです)。
経験に基づいた推測は Python です。彼らはそれの作成者を採用しています。ただし、彼らのクローラーはおそらくMapReduceを利用する分散アプリであると想像できます。この場合、実際には C/C++ アプリケーションである可能性があります。
ただし、これは重要なことではありません。多くの異なる言語で効率的な Web クローラーを作成しても、同じ結果が得られます。黄色や青色のハンマーであっても、ハンマーは釘を打ちます。好きな色を選んで正しく使いましょう。
最も初期のバージョンであるBackrubは、PythonとJavaで作成されました。
GoogleBot(おそらくCまたはPython)についてはわかりませんが、Javaと.NETの両方に優れたものがいくつかあります。
最も人気のあるオープンソースオプションの1つは、Nutch(Luceneでよく使用されます)です。
Nutch自体はJavaで記述されており、かなり効率的です。Nutch.NETと呼ばれる.NETポートもあります。
言語は特定の実装ほど重要ではないと思います。
Javaで気になるオーバーヘッドは?メモリ、処理能力?