データ・ページをクロールしたい始めるのは簡単NodeJs

あなたが開始する前に、Node.jsのインストール環境を確認してください!

プロジェクトフォルダには1. 2つの依存関係をインストールする必要があります。

1 NPMたSuperAgentをインストール-S

たSuperAgent(公式サイトが説明されています)

----- たSuperAgentは柔軟性、可読性、および既存の要求APIの多くに不満をされた後、低学習曲線のために作られた軽量プログレッシブAJAX APIです。また、Node.jsので動作します!

----- たSuperAgentは、軽量、プログレッシブのAjax API、良い読みやすさ、環境nodejsに適した低学習曲線、内部依存関係nodejs要求ネイティブAPIであり、

 

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

 

2.Cheerio

----- チェリオは、具体的にはjQueryのコアの実装のサーバ、高速、柔軟、実装に合わせ、nodejsクロールページモジュールです。Webクローラーのさまざまな。jQueryののNode.jsの同等

3.新しい  crawler.js ファイル

入力インサイド  

 1 //导入依赖包  
2 CONST HTTP =必要とする( "HTTP" )。
3
CONSTパス=必要とする( "パス" )。 4 CONSTのURL =( "URL"を必要とします)。 5 =は、( "FS"を必要CONST FS )。 7のconstたSuperAgent =必要とする( "たSuperAgent" )。 8 CONSTチェリオ=は( "チェリオ"を必要とします)。 11 たSuperAgent 12 に.get( "https://www.zhipin.com/job_detail/?city=100010000&source=10&query=%E5%89%8D%E7%AB%AF"
13 .END((エラー応答)= > // チェリオ即ちjQueryのは、包装組で文書全体をnodejs、受信変数$を定義する 17 のvar $ = ; cheerio.load(コンテンツ) である18 //がデータを受信するための空の配列を定義する 19。 VaRの結果を= [ ]; 20 // 各李を取得し、(各リー内でこの時間は、我々が取得するデータを格納するための)内部の内容を横断する文書構造を解析する 21 $(「李はジョブ・リストのプライマリを.JOB。」) .each((インデックス、値)=> { 22です // アドレスと表示ラインのタイプは、文字列の傍受を使用する必要があります 23 // アドレス 24 のlet $アドレス=(値).find( "プライマリ・情報を")。 。子供()EQ(1。.htmlを()); 25 // タイプ 26です 。LETタイプ= $(値).find(以下"当社P-情報")の.html(); 27 // デコーダ 28 、アドレス=アンエスケープ(address.replace(/&#X / G '%U')を交換してください。(/; / G '' )); 29 種類=エスケープ解除(タイプ。.replace(/&#はX / G '%U')を交換(/; / G '' )) 30 // 文字列傍受 31である せaddressArr = address.split(「<EMクラス= "VLINE"> </ EM> ' ); 32 typeArr = type.split(LET' <EM CLASS = "VLINE"> </ EM> ' ); 33である // オブジェクトとして配列に追加データを取得し 34である result.push ({ 35 タイトル: ".JOBタイトル名" $(値).find( )。 テキスト()、 36 お金:$(値).find( "名前.red。" )の.text()、 37 住所:addressArr、 38 企業:$(値).find( "インフォ-A社。" )の.text()、 39 タイプ:typeArr、 40 位:$(値).find( "情報-publis .nameの" )の.text()、 41 txImg:$(値).find(」インフォ-publis IMG。 ")のattr("。 SRC " )、 42 時間:$(値).find("。情報-publisのP」)の.text() 43 }); 44 // にconsole.log(typeof演算$(値).find( "インフォ-主。")、子供()EQ(1).htmlを()。。); 46 // 文字列にアレイ 47 の検索結果= JSON.stringify(結果); 48 // 複数boss.json現在のファイルを参照するディレクトリファイルフォルダを更新する配列JSON出力(オープンboss.jsonファイルは、CTRL + Aすべて選択CTRL + Kは、Ctrl + Fを自動的にJSONファイルレイアウトとすることができる) 49 fs.writeFile( "boss.json"、結果、 "UTF-8"、(エラー)=> { 50 // 正常な出力として、エラーを聞き、印刷ヌル 51 IF(エラー== nullの){ 52 はconsole.log(「おめでとうは、データが成功をクロール!オープンJSONファイル、最初のCtrl + Aは、Ctrlキー+ K、最後にはCtrl + FのJSONドキュメントビューを(Visual Studioのコードエディタのみ)」フォーマットされた); 53 } 54 }); 55 });

 

 

 

4.データを変更します(それが基本的にある場合、操作上の静的なページがCralwer.js \。ノードに直接完了しているが、実際には多くはありません

 1.あなたはツアー容器にクロールしたいアドレスを入力してください

  たとえば、次のようにhttps://www.zhipin.com/job_detail/?city=100010000&source=10&query=%E5%89%8D%E7%AB%AF

 2.ボディコピー要素にコンソールを選択します

   

 

  

 

 3.エディタに添付します

 

 

 

  

 

 

  5.サーバー環境でページを実行します

 

  

 

 

 

  7 。このアドレスバーのアドレスをコピーします

    その後)(cralwer.jsがに.getファイルを貼り付け

    端子8で実行されています。

     ノード。\ cralwer.js

 

  最後に、に学びます。https://blog.csdn.net/twodogya/article/details/80204322を

  

  

 

おすすめ

転載: www.cnblogs.com/desLZW/p/11655420.html