05. Scrapy

図解!Scrapyで利用できるコマンドを徹底解説!

更新日:

Scrapy Shellの使い方

この記事では、scrapyで利用できるプログラムの作成や検証、実行などを行う基本的なコマンドを説明いたします。この記事でscrapyの基本的なコマンドを確認し、次の記事からは実際にプログラムの作成に入っていきます。

 


人気記事 Pythonのスキルが劇的に向上した!Udemyのおすすめ講座3選!
         9月30日(木)まで!Udemyの「スキルを磨こう」大セール中!!!

scrapyで利用できるコマンド

コマンド一覧の表示

ターミナルを起動して、scrapy と入力しエンターを押すと、scrapyに関する情報が表示されます。
scrapyで利用できるコマンドの一覧
バージョン:私の環境は2.4.1です。利用中のプロジェクトがあれば、アクティブなプロジェクトとしてここに表示されます。
 
使い方としてコマンドの説明が書かれています。
scrapy コマンド と続いてオプション、引数を入力します。
 
そして、scrapyで利用できるコマンドの一覧が表示されます。
主なコマンドを紹介します。
scrapyで利用できるコマンドの一覧

benchコマンド

benchコマンドは、簡単なベンチマークテストを実行するのに利用します。

 

startprojectコマンド

startprojectは、プロジェクトを作成するのに使います。
 
scrapyはプロジェクトという単位で1つのまとまりを構成し、その中にspiderというWebサイトから情報をスクレイピングする為のクラスを作成していきます。
 
1つのプロジェクトの中には、複数のspiderを作ることができます。

 

genspiderコマンド

genspiderは、新しいスパイダーを作成するのに利用します。spiderは、目的に応じて予め用意された、いくつかのテンプレートを元に作成します。

 

runspiderコマンド

runspiderは、プロジェクトを作成せずに、スパイダーを実行するのに用いられます。
 
通常はプロジェクトを作成しますので、めったに利用することはありません。何かを試したいなど、使い捨てのspiderを実行するのに利用します。

 

crawlコマンド

一方で、作成したプロジェクト内にスパイダーを作成し、そのスパイダーを実行する場合は、crawlコマンドを使います。
 
従って、通常はプロジェクトを作成しますので、スパイダーの実行には、こちらのcrawlコマンドを使うことになります。

 

shellコマンド

shellコマンドにより、対話型shellを起動します。shellでは、XPathやCSSセレクタでデータの取得などを試すことができます。これら試したXPathやCSSセレクタをspiderに反映していきます。
 
XPathやCSSセレクタは、HTMLの多くのコードの中から必要なものを取得するのに利用する簡易言語です。
 
XPathやCSSセレクタの詳しい説明は、以下を参照ください。
>> XPathでスクレイピングする方法
>> CSSセレクタを用いたBeautifulSoupのselectメソッドの使い方

 
これらの簡易言語で、データが思い通りに取得できるかを、shellを用いて確認していき、問題無ければspiderに反映します。shellの詳しい説明は「Scrapy Shellの使い方」を参照ください。

 

開発における基本的なコマンドの流れ

後で実際に実行していきますが、基本的な流れとしては、startprojectコマンドでプロジェクトを作成し、genspiderでプロジェクト内にspiderを作成していきます。
 
spiderのコーディングでは、必要に応じてshellでデータ取得方法を確認し、それをspiderに反映します。そしてコーディングが終わりましたら、crawlコマンドでspiderを実行する
 
というのが一連の流れになります。これらのコマンドは、以降の記事でscrapyでコーディングを行う際に確認していきます。

 

scrapy benchコマンドの使い方

ここでは最後に、scrapyのコーディングの際には出てこないbenchコマンドについて、実際に実行してみます。benchコマンドでは、ベンチマークテストをすることができます。

 
scrapy benchと入力し、エンターキーを押して実行すると、
scrapy benchコマンドの使い方
Scrapyが処理を開始し、内部のページに対してクローリングを開始します。

 
scrapy benchコマンドの使い方
ここでは何ページまでクローリングできたかが表示されています。また横には1分間当たりの送信件数も表示されています。
 
request_countでは、Requestを送信した件数と、response_countでは、Responseが返ってきた件数がわかります。これらの数値はマシンスペックに依存します。
 
scrapyで使える基本的なコマンドは以上になります。
 
次の記事では、これらのコマンドを実際に使い、プログラムの作成に入っていきます。

 
 

最後に、Pythonやスクレイピングのスキルをさらに向上させたい方は、以下の私のUdemy講座を是非参考にしてみてください!

スクレイピング初心者にもわかりやすいよう、基本的なトピックから順を追って、丁寧に解説しています。またPythonを初めて学ばれた方も、最初に取り組みやすい内容になっています。

Pythonによるビジネスに役立つWebスクレイピング
発売数3,200本突破を記念して、今だけ期間限定で87%オフの大セール中!!!


既に3200名以上の方に受講頂き、大変好評です。またコースに満足いただけない場合でも、30日返金保証があるので安心です。

期間限定の割合クーポンは、こちらから!
>> Pythonによるビジネスに役立つWebスクレイピング
   
   
 
 
 





このページも人気です!!

まとめ記事

1

Python3におけるWEBスクレイピングのやり方について初心者向けに解説した記事です。   Requests、Beautiful Soup、Selenium、Pandas、newspape ...

2

Pythonの基本的なトピックについて、チュートリアル形式で初心者向けに解説した記事です。プログラミング未経験者や初心者でもわかりやすいよう、丁寧に解説しています。   Pythonでデータ ...

3

Pandas(パンダス)とは、データを効率的に扱うために開発されたPythonのライブラリの1つで、データの取り込みや加工・集計、分析処理に利用します。   Pandasには2つの主要なデー ...

4

データ分析、機械学習、ディープラーニングにはグラフの描画による可視化は不可欠です。データは、加工前の状態ではただの数字の羅列でしかなく、一目で必要な情報が伝わるものではありません。それを集計しグラフに ...

5

NumPy(ナンパイ)は、数値計算を効率的に行うための拡張ライブラリです。ベクトルや行列などを効率的に数値計算するための数学関数ライブラリを提供します。NumPyを使うことにより、数値計算をより早く、 ...

-05. Scrapy

Copyright© AI-interのPython3入門 , 2021 All Rights Reserved.