使ってWebページのデータの取得を行なっています。環境としてはCentOSのpython3.6(pyenv環境)となります。3.6.6ただ、sqlite-develを入れないと後ほど、以下のエラーが出たのでsqliteをインストールして再度python3.6をインストールしておきます。インストールを行います。13.1.0以上が必要のためインストールに失敗しました。非同期処理のためのフレームワークであるTwistedをインストールしてみます。Twistedpipで入らないようなのでソースからのインストールを行います。installこちらでTwistedのインストールが完了しました。再度、Scrapyのインストールを行います。command無事インストールが完了しました。次にプロジェクトの作成を行います。ここでは「sample_crawler」というプロジェクトを作成しています。example.com無事作成されました。プロジェクトの初期ファイルは以下のようになっています。scrapy.cfgここで大事になるのは以下の3つです。動作の設定を決める設定ファイルまず、スクレイピング対象の定義ファイルを以下のコマンドで作成します。「devcolla」という定義ファイルを作り、「developer-collaboration.com」のサイトを対象にしています。module:sample_crawler.spiders.devcolla「sample_crawler/spiders/devcolla.py」というファイルができます。ファイルを確認してみます。[‘http://developer-collaboration.com/’]」の行からクロールが始まっており、こちらは複数のサイトを指定することができます。こちらの取得したHTMLソースがparse()メソッドの第二引数responseに渡されています。「items.py」を見てみます。scrapy.Field()passSampleCrawlerItemという定義が空でなされています。それではまず、「items.py」を以下のように編集してみます。「title」と「url」を受け取ります。scrapy.Field()また、「devcolla.py」は以下のように修正します。SampleCrawlerItem」の行で定義クラスを読み込みます。response.css(‘article.post-list’):」の行で「article.post-list」のCSSのタグのデータを取得しています。SampleCrawlerItem()」の行で定義ファイルのオブジェクトを生成します。その下の2行で取得する要素を設定しています。ここでは記事のタイトルとURLをトップページから取得しています。それでは実際に動かしてみます。以下のコマンドでスクレイピングすることができます。(finished)無事、サイトからデータを取得し、クラス定義されたオブジェクトにデータが格納されました。最初の確認としての使い方は以上になります。その5)このブログは株式会社CoLabMixによる技術ブログです。GCP、AWSなどでのインフラ構築・運用や、クローリング・分析・検索などを主体とした開発を行なっています。RailsやDjango、Pythonなどの開発依頼などお気軽にお声がけください。開発パートナーを増やしたいという企業と積極的に繋がっていきたいです。