爬虫類一式(A):Scrapyフレーム

Scrapyインストール

Scrapyをインストールする方法は2つあります。

  • 使用ピップのインストール:pip install Scrapy
  • 国内のクレソンインストールの使用:pip install -i https://pypi.douban.com/simple/ scrapy

第二の方法は、高速インストールすることをお勧めします。

Scrapyコマンド

コマンド行に入力Scrapy、それが直接、一般的に使用されるコマンドが表示されます。

Scrapyコマンド
1 scrapy startproject Demo(项目名):私は、新しいプロジェクトを作成します。

2、 scrapy genspider name domain名前はドメインがサイトをクロールの名前で、爬虫類の名前です。

3 scrapy crawl <spider>:スタート爬虫類。

4 scrapy list:すべての爬虫類を見ます。

5 scrapy fetch <url>:応答を印刷します。

6 scrapy shell [url]:デバッグシェル。

デバッグのために戻ってゆっくりと各種コマンドを使用する場合は、その後のシステム設計。

ファイル構造
1、scrapy.cfg:プロジェクトプロファイル

2、スパイダー/スパイダー:爬虫類・コード・ファイル

3、スパイダー/ items.py:クロールデータ格納容器

4、スパイダー/ pipeline.py:ストアデータ操作を行っ

5、スパイダー/ setting.py:プロジェクトの設定ファイル

6、スパイダー/ middlewares.py:ミドルウェア

あなたは、コードを書くときに、各ファイルの内容を変更する必要があります。

クモのクラス

クモのクラス、メソッドとプロパティは、クローラーを定義しました。リスト共通のメソッドとプロパティ下:

クラスのプロパティ:

  • name:、爬虫類の名前を定義し、プロジェクトで繰り返すことはできません。
  • allowed_domains:ドメイン名を取るために登るできます。
  • start_urls:URLリストを開始すると、複数のURLアドレスを許可します。
  • custom_settings:スパイダーの設定は、グローバル設定を上書きします。
  • settings:実行クローラように構成されています。
  • logger:作成したPythonのロガー名の爬虫類を開発し、ログメッセージを送信するために使用することができます。

クラスメソッド:

  • from_crawler(cls, crawler, *args, **kwargs):クラスメソッドは、インスタンスオブジェクトのために、それはクモのオブジェクトにバインドします。
  • start_requsets(self):ジェネレータは、クローラーが自動的に実行している場合、URLは、入口として、リクエストによって返さ構築しました。
  • parse(self, reponse):分析関数、又は返品アイテム要求は、処理されたデータのすべてになるまでループします。
  • close(self, reason):爬虫類は、閉じたときに自動的に実行されます。

Requestオブジェクト

scrapyは、使用して構築されたscrapy.http.Requestネットワークリソースの要求と応答、パラメータリスト共通オブジェクト要求を処理するために、Responseオブジェクトを:

  • url:URLアドレスの要求ページ
  • callback:あるコールバック関数、ページ解析機能
  • method:HTTPの要求方法、デフォルトの 'GET'
  • headers:HTTPのリクエストヘッダ情報
  • body:テキストhttpリクエスト
  • cookies:クッキー
  • encoding:エンコーディング、UTF-8のデフォルト

Responseオブジェクト

レスポンスクラスはそれだけで基本クラスの、HTTPダウンロードのクラス情報を返すために使用され、彼はまだいくつかのサブカテゴリーがあります。

  • テキストレスポンス
  • HtmlResponse
  • XMLResponse

ページのダウンロードが完了すると、ダウンロードが応答HTTPレスポンスヘッダのContent-Typeフィールドに応じて、サブクラスのオブジェクトを作成します。Responseオブジェクトのプロパティとメソッド:

  • url:URL文字列の応答
  • status:HTTP応答ステータスコード
  • body:レスポンスのボディ
  • request:Requestオブジェクト要求は、このレスポンスを返します
  • meta:メタデータ
  • copy():それは、このレスポンスのコピーである、新しいレスポンスを返します。

コードは、卒業設計プロセスを行うことで段階的に行われているの後ろにこれは、爬虫類の内容についてです。

おすすめ

転載: www.cnblogs.com/bzsheng/p/12483918.html