PythonのScrapy爬虫類
予選:
1、Scrapyフレームは:ある純粋なPythonは、ウェブサイトのデータを取得するための登山を達成抽出構造化データアプリケーションフレームワーク書かれました。
2、Scrapyの重複排除の原則:Scrapy自体はミドルウェアが付属しています。scrapyのソースコードはで見つけることができdupefilters.pyデデュプリケーションデバイス、あなたがする必要がdont_filterに設定Falseのデフォルトは、ヘビーになっ真、ない再オープンします。
図3 に指紋重量:のそれぞれに対してURLの要求、スケジューラは、関連情報暗号化取得要求に対する応答受信する指紋情報、およびURLの指紋情報とセット()セット比較のための指紋情報のを。セット()このデータセット内に既に存在するが、これはしていない場合はリクエストは、キューに入れられたセットは()に設定した場合何もデータが存在しないこの暗号化をしますRequestオブジェクトをされるのを待って、待ち行列に入れられ、スケジュール。
。4、Scrapy枠各モジュールで:
-
エンジンscrapy(エンジン)の責任スパイダー、ItemPipeline、ダウンローダ、スケジューラ等の通信、信号、データ転送の真ん中
-
スケジューラ(スケジューラ):であると想定されるURLのプライオリティキュークロールのURLで、次が重複URLを除去しながらことを決めるために、。ユーザーは、自分のニーズをカスタマイズすることができ、スケジューラ
-
ダウンローダー(ダウンローダー):高速は、ネットワーク上のリソースをダウンロードするため。Scrapyのダウンロードコードは、ある主な理由は複雑すぎるが、効率的ではないでしょうScrapyのダウンローダが基づいているねじれ、この効率的な非同期モデル
-
スパイダー(クローラ):ユーザーが特定のWebページからの抽出物へのクローラをカスタマイズするために必要な情報、いわゆる実体(項目)。また、ユーザーは、リンク(抽出することができますのURLを Scrapyは、次のページにクロールに進みましょう)。
-
パイプラインアイテム(固体パイプ):抽出処理するためのクローラーエンティティ。主な特徴は、永続エンティティ、エンティティの有効性を検証するために、不要な情報を削除します
-
ミドルウェアのダウンローダ(ダウンロードミドルウェア/ USER_AGENT、プロキシのプロキシを持っている):カスタム拡張として使用できるコンポーネントをダウンロードすることができます
-
ミドルウェアスパイダー(スパイダーミドルウェア):機能コンポーネントをカスタマイズすることができると理解することができ、エンジンの拡張操作および中間体通信(例えば、クモの応答を入力として、要求とスパイダーのうち)スパイダー
図枠-1 scrapy