この記事では主に Node.js クローラーの Web リクエスト モジュールを紹介します。編集者がそれを参考にさせていただきます。編集者をフォローして見てみましょう。皆さんのお役に立てれば幸いです。
この記事では、Node.js クローラーの Web リクエスト モジュールを紹介し、それを皆さんと共有します。詳細は次のとおりです。
注: 最新の nodegrass バージョンをダウンロードした場合、一部のメソッドが更新されているため、この例は参考になります。詳細については、オープンソースのアドレスを確認してください。
1. なぜそのようなモジュールを作成する必要があるのでしょうか?
作者はNode.jsを使ってクローラを書きたいと考えていましたが、公式のNode.js APIが提供するリモートリソースをリクエストする方法は非常に簡単ですが、
http://nodejs.org/api/を参照してください。詳細については、http.html を参照してください。HTTP リクエストには、http.get(options, callback) と http.request(options, callback) の 2 つのメソッドが提供されています。メソッドを見るとわかります。リクエストを取得し、リクエスト メソッドは他のリクエスト メソッド、リクエスト元のホストのポートなどの追加のパラメータを提供します。 Https のリクエストは Http と似ています。最も単純な例:
var https = require('https'); https.get('https://encrypted.google.com/', function(res) { console.log("statusCode: ", res.statusCode); console.log("headers: ", res.headers); res.on('data', function(d) { process.stdout.write(d); }); }).on('error', function(e) { console.error(e); });
最も単純な例:
var nodegrass = require('nodegrass'); nodegrass.get("http://www.baidu.com",function(data,status,headers){ console.log(status); console.log(headers); console.log(data); },'gbk').on('error', function(e) { console.log("Got error: " + e.message); });
https リクエストについてはどうですか?公式APIだとhttpsモジュールを導入する必要がありますが、リクエストのgetメソッドはhttpと似ているので、ちなみにnodegrassでは統合しています。例を見てください:
var nodegrass = require('nodegrass'); nodegrass.get("https://github.com",function(data,status,headers){ console.log(status); console.log(headers); console.log(data); },'utf8').on('error', function(e) { console.log("Got error: " + e.message); });
投稿リクエストについては、nodegrass が post メソッドを提供します。例を参照してください:
var ng=require('nodegrass'); ng.post("https://api.weibo.com/oauth2/access_token",function(data,status,headers){ var accessToken = JSON.parse(data); var err = null; if(accessToken.error){ err = accessToken; } callback(err,accessToken); },headers,options,'utf8');
get メソッドと比較して、post メソッドはより多くのヘッダー要求ヘッダー パラメーターとオプション (post データ) を提供します。これらはすべてオブジェクト リテラル タイプです。 …**
例を見てください:var headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Content-Length':data.length
};
var options = {
client_id : 'id',
client_secret : 'cs',
grant_type : 'authorization_code',
redirect_uri : 'your callback url',
code: acode
};
nodegrass のオープンソース アドレス: https://github.com/scottkiss/nodegrass
Node.js 開発情報クローラー プロセス コード共有
NodeJS 百科事典 クローラー サンプル チュートリアル
以上がNode.jsクローラーのWebリクエストモジュールの詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。