ホームページ  >  記事  >  バックエンド開発  >  Scrapy シェルを使用して xpath 選択の結果を確認する方法に関する詳細なチュートリアル

Scrapy シェルを使用して xpath 選択の結果を確認する方法に関する詳細なチュートリアル

巴扎黑
巴扎黑オリジナル
2017-07-19 14:19:342148ブラウズ

1.scrapy シェル

は、scrapy パッケージの優れた対話型ツールです。現在、私は主に xpath の選択結果を確認するために使用しています。 Scrapy をインストールすると、cmd 上で直接 Scrapy シェルを操作できるようになります。

Scrapy Shell

Scrapy ターミナルは、スパイダーを起動せずにコードを試してデバッグすることができ、XPath 式や CSS 式がどのように機能するかをテストすることもできるため、Web ページのクロールが容易になります。から抽出されたデータ。

IPython がインストールされている場合、Scrapy ターミナルは (標準の Python ターミナルの代わりに) IPython を使用します。 IPython ターミナルは他のターミナルよりも強力で、インテリジェントなオートコンプリート、強調表示された出力、その他の機能を提供します。 (IPythonのインストールを推奨します)

Scrapy Shellを起動します

プロジェクトのルートディレクトリに入り、以下のコマンドを実行してシェルを起動します:

scrapy Shell "http://www.itcast.cn/channel/Teacher .shtml"

Scrapy Shell は、ダウンロードしたページに基づいて、Response オブジェクトや Selector オブジェクト (HTML および XML コンテンツ用) などの便利なオブジェクトを自動的に作成します。

シェルがロードされると、応答データを含むローカル応答変数を取得します。応答本文を出力するには、response.body を入力し、応答ヘッダーを表示するには、response.headers を入力します。

response.selectorと入力すると、responseによって初期化されたクラスSelectorのオブジェクトが取得されます。このとき、response.selector.xpath()またはresponse.selector.css()を使用してレスポンスをクエリできます。

Scrapy は、(前のケースと同様に) 有効にすることができる、response.xpath() や response.css() などのいくつかのショートカットも提供します。

セレクター

Scrapy Selectors には XPath および CSS セレクター式メカニズムが組み込まれています

Selector には 4 つの基本的なメソッドがあり、最も一般的に使用されるのは xpath です:

xpath(): xpath 式を渡し、式を返します。対応するすべてのノードのリスト

extract(): ノードを Unicode 文字列にシリアル化し、リストを返します

css(): CSS 式を渡し、式に対応するすべてのノードのセレクター リストを返します。構文は次のとおりです。 BeautifulSoup4

re()と同じ: 受信した正規表現に従ってデータを抽出し、Unicode文字列リストを返します


2. ipython

公式ではipythonを使用することをお勧めしますwebsite スクレイピーシェルを実行するのでインストールしてみました。私の Python 環境は以前 conda を介して構成されていたため (前の記事を参照)、conda を介して ipython をインストールすると非常に便利です

conda install -c conda-forge ipython

そうすれば、ipython パッケージ全体がダウンロードされます。すべてコンパイルされているため、煩わしいコンパイルは必要ありませんプロセスが失敗しました。

3. ipython と ipython 上で Scrapy シェルを実行します

現在の cmd 実行ボックスでは、システム環境が構成されているため、Python パッケージを直接実行できます。そのため、cmd 実行ボックスに直接次のように入力します。 ipython を ipython に入力すると、ipython 実行ボックスに入ります。これはシステム標準の cmd に似ていますが、より豊富な機能、豊富な色、より優れたレイアウトを備えています。

しかし、scrapy シェルコマンドを直接入力すると、そのようなコマンドは存在しないと表示され続けて失敗します。ここで立ち往生しました。

後で、scrapy シェルの説明を注意深く読んでください

IPython がインストールされている場合、Scrapy シェルは (標準の Python コンソールの代わりに) それを使用します

つまり、scrapy シェルは ipython を見つけます。フレーム自体で実行されます。

そのため、cmd の標準の実行ボックスに直接、scrapy shell を入力すると、返された結果が ipython の実行ボックスに直接呼び出されます。

以上がScrapy シェルを使用して xpath 選択の結果を確認する方法に関する詳細なチュートリアルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。