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