Web サイトをクロールするプログラムを実行する必要があり、アルゴリズムとコードの一部が既にあります。wget
問題は、ソース コードに挿入する方法がわからないことです。私たちの学生アシスタントは、ある種のキーワードまたは関数をwget
( system
、または何かだと思いますが、よくわかりません) の前に使用する必要があることをほのめかしました。
4 に答える
使用しないsystem
場合:
1.) システム経由で呼び出したプログラムが利用できない別の環境にプログラムを配布したい場合
2.) 呼び出すプログラムが実際に希望するプログラムであることを確認する必要があるセキュリティ関連の環境で
3.) やりたいことが 10 ~ 20 行の C コードで簡単に実現できる場合
4.) パフォーマンスが重要なアプリケーションで
したがって、system
事実上決して使用しないでください。
代わりに、同じことを達成するには、Davidが提案したようにlibcurlを使用するか(彼の答えはなくなったようです...)、ソケットプログラミングを行うことができます(結局Cです)。
現実のシナリオでは、デフォルトで別の言語でクローラーを作成することになるでしょう。Web リクエストと複雑な文字列処理は、必ずしも C の長所とは限らず、使用するのがあまり便利ではないことは間違いありません :)
Cプログラムからシェルコマンドを実行したいときはいつでも、system("shell command")
.In your case
system("wget");
注 - wget は実行可能ファイルであり、その場所はパス変数に追加されるため、パスを明示的に指定する必要はありません。
- 例 -
#include <stdio.h>
#define BUFFLEN 2500
int main()
{
char web_address[BUFFLEN] = "www.google.com";
system("wget 'web_address' ");
return 0;
}
このsystem
コマンドは、シェル コマンドを実行するために使用されます。男系