ノードの書き込み爬虫類を使い始めます

最近読んノード爬虫類んので、我々はそれが全体のプロセスの記録である、それを試してみました

1、新しいフォルダbaidunews

2、入力NPMの初期化の下でトップに新しいフォルダを初期化します

3、初期化が必要な依存関係を完全にダウンロードされた後、

  NPM Expressをインストールします

  NPMチェリオをインストール

  NPMたSuperAgentをインストール

baidunewsファイルフォルダの新index.jsで4、

5.ファイルにコードを追加します。

  

=必要CONST( 'エクスプレス'を表現する); 
constのアプリケーション = エクスプレス(); 

// ... 

letのサーバー = app.listen(3000、関数(){ 
  letのホスト = server.address()アドレス;. 
  せポート = サーバー。.Address()ポート; 
  にconsole.logは( 'あなたのアプリを実行しているHTTP AT IS://%S:%S' ホスト、ポート); 
}); 

/ * * 
 * [説明] -でルーティング
 * / 
// 場合GETリクエストはhttp:// localhostを:3000、非同期機能する後 
app.get( '/'、非同期(REQ、RES、NEXT)=> { 
    res.send(HotNews); 
  }); 

  // 必要に応じて、サードパーティ製のパッケージの導入
必要たSuperAgent =一定( 'たSuperAgent' ); 

HotNewsを聞かせて = [];                                 // ホットニュース 
せLocalnews = [];                               // ローカルニュース

/ * * 
 * index.js 
 * [説明] -使用superagent.get()メソッドアクセスBaiduのニュース
 * / 
superagent.get(「http://news.baidu.com/').end((err、RES)=> {
   IF (ERR){
     // アクセスが失敗するか、エラーがこの行を発生した場合ここで 
    はconsole.log( `熱いニュースをフェッチするために失敗しました- $ {}` ERR)を
  } {
    // 成功した訪問、ページ要求http://news.baidu.com/は、データがRESに含まれます返さ
   // クロール熱いニュースデータ 
   hotNews =getHotNews(RES)
  } 
}); 


/ * * 
 * index.js 
 * [説明] -ホットニュースのクロールページ
 * / 
// 導入に必要なサードパーティ製のパッケージ 
のconst =チェリオ必要( 'チェリオ' ); 

のlet getHotNewsの =( RES)=は> { 
  HotNewsましょう = [];
   // アクセスの成功を、要求http://news.baidu.com/ページデータがres.textに含まれて返されました。
  
  / * 使用チェリオモジュールcherrio.load()メソッド、関数のHTMLDocumentのパラメータとして
     ページ要素を取得するには、後に同様のjQueryの$(selectior)の方法で使用される
   * / 
  のlet $ = cheerio.load(res.text) ; 

  // ターゲットデータ要素、データ収集ページを見つける 
  $( '#ペインニュース-UL李aをDIV')、各((IDX、ELE)=>を。{
     //cherrioの$(「セレクタ」)はそれぞれ( ) すべてのマッチしたDOM要素を反復処理するために使用されます。
    // パラメータIDXは現在、横断要素のインデックス、ELE便利なDOM要素が現在のです 
    LETニュース= { 
      タイトル:$(ELE) .text()、         // ニュースの見出しを取得 
      HREF:$(ELE).ATTR( 'のhref')     // ニュースページがリンクしてもらう
    }; 
    hotNews.push(ニュース)               // 保存し、最終的な結果の配列
  });
   を返すHotNewsを
} ;

6、現在のファイルフォルダ内のコマンドラインを開き、コマンドラインを入力します。

  ノードindex.js

7、ブラウザでのアクセスはlocalhost:3000

8、ページのクロールの表示データ

 

おすすめ

転載: www.cnblogs.com/wyongz/p/11242469.html