配列に約10KのURLがあります。それ以外の時には、これは100Kかもしれません。私はプログラムでそれらを訪問し、応答を取得し、それを印刷したり、何かをする必要があります。すべてのURLが属するサーバーの窒息を防ぐために、私はそれらを順番に訪問したいと思います。私はこれを行う非同期モジュールがあることを知っています。私の質問です:非同期はこれを行う唯一の方法ですか?より多くのURLのために非同期で拡張できるのでしょうか?URLに順次アクセスする方法
0
A
答えて
0
crawler
のようなWebクローラー・モジュールを使用します(または、node-modules.comまたはnpmjs.comのクローラー・キーワードを検索してください)。
var Crawler = require("crawler");
var url = require('url');
var c = new Crawler({
maxConnections : 10,
// This will be called for each crawled page
callback : function (error, result, $) {
// $ is Cheerio by default
//a lean implementation of core jQuery designed specifically for the server
$('a').each(function(index, a) {
var toQueueUrl = $(a).attr('href');
c.queue(toQueueUrl);
});
}
});
// Queue a list of URLs
c.queue(['http://jamendo.com/','http://tedxparis.com']);
+0
質問に何も言わずに、HTMLのスクラップや解析については何も言及していません。 – AllTheTime
+0
彼は「それを使って何かをする」と言っているので、掻き集めることが非常にうまくいくかもしれません。また、クローラは同時にいくつのリクエストが出ていくかを制御する組み込みの設定をしています。 –
関連する問題
- 1. URLにアクセスする方法は?
- 2. ブートストラップでURLパラメータにアクセスする方法
- 3. webkit-fake-urlにアクセスする方法
- 4. struts2でurlパラメーターにアクセスする方法
- 5. Picasa Api urlに降順でアクセスするには
- 6. URLから直接アクセスする方法
- 7. PHPでアルファベット順に多次元配列をソートする方法
- 8. UIScrollViewにサブビューを順次追加する方法
- 9. コアデータに順次データを格納する方法は?
- 10. キー順で順次アクセスするためのLMDBファイルの並べ替え
- 11. Base64エンコードのjavascriptに.jpeg URLで画像にアクセスする方法
- 12. リクエストにアクセスせずにベースURLを取得する方法
- 13. 次の組み立て手順でinvoke応答オブジェクト変数にアクセスする方法
- 14. Java/AndroidでAsyncTaskの異なるURLにアクセスする方法
- 15. ノードでhttp getを順次実行する方法
- 16. NSFetchedResultsControllerを使用して順次フィルタを作成する方法
- 17. リストから順次エレメントを選択する方法は?
- 18. 複数のUIを順次更新する方法は?
- 19. IPythonノートブックのプロットを順次フラッシュする方法は?
- 20. センサデータを順次取得する方法は?
- 21. MVCでURL経由でコントローラにアクセスする方法
- 22. 認証でOData URLにアクセスする方法
- 23. コントローラ内のURLからハッシュ値にアクセスする方法
- 24. クラウドフロントにアクセスする方法s3バケットオブジェクトの単純なURL
- 25. Angular appの新しいインスタンスでURLデータにアクセスする方法
- 26. iosから保護されたURLにアクセスする方法
- 27. ActionクラスのURLパラメータにアクセスする方法Struts 2
- 28. Angular JSサイトのノードJSルートURLにアクセスする方法
- 29. webclientを使用してsecure urlにアクセスする方法
- 30. ホストマシンからアプリケーションURLにアクセスする方法は?
リクエストの配列を通じて単純な順次反復を行う必要はありません。あなたはそれを使うことができますが、それは必ずしも必要ではなく、逐次反復に次々と関係するスケールの問題はありません。 – jfriend00
[APIリクエストのスタックを抑制する方法](http://stackoverflow.com/questions/35422377/how-can-i-throttle-stack-of-api-requests/35422593#35422593)と[Run 1000 requestsそのため、一度に10回しか実行できません](http://stackoverflow.com/questions/39141614/run-1000-requests-so-that-only-10-runs-at-a-time/39154813#39154813)と[ 20分しか処理できないAPIへのリクエストをいくつか作成する](http://stackoverflow.com/questions/33378923/make-several-requests-to-an-api-that-can-only-handle-20-リクエスト/分/ 33379149#33379149)のようなものを実装しています。 – jfriend00
非同期は良好です。連続して何かを実行している場合は、なぜスケーリングについて心配する必要がありますか?それはちょうど時間を取るつもりです。 – AllTheTime