Goutteの使用法、フィルタリング~こんばんは、のるぼるのんです。今週は割とゆったり過ごしてしまいました。結果やりたかった事が半分くらいしか終わらず、、、もう少し自制して、環境作りから始めないとダメかな。前回、前々回、とウェブスクレイピングの勉強を行なっていますが、前回はこのブログにアクセスして、大量の情報を取得した所までいきました。artisanコマンド作成~http://tac-blog.tech/index.php/2018/11/24/web-scraping-1-make-artisan/こんばんは、のるぼるのんです。最近作りたい機能の一環として、ウェブスクレイピングが必要そうなんですよね。それをLaravelと連携したい、ということで、artisanコマンドを作成していきたいと思います。長くなりそうなので、今回は、artisanコマンドの作成から。artisanコマンドを用いてwebスクレイピングをしようの回第二弾。今回はパッケージ「Goutte」を導入して、このブログのトップページの情報を取得してみたいと思います。ちなみに、Goutteは「グート」と読むらしいですよ。今回はGoutteのフィルタリング機能を使用して、様々な意味のある情報を集めてみましょう。ページtitleを取得goutteを使用してウェブスクレイピングをする時、よく使うことになるのがfilterメソッドかな、と思います。filterメソッドを使用して、このサイトのトップページのタイトルを取得してみたいと思います。コードの記述は、前回同様、artisanコマンドを記述するScraping.phpに書いていきましょう。'スクリプトを実行します。'スクリプトを終了します。'スクリプトを実行します。'スクリプトを終了します。PHP_EOL;}filterメソッドでtitle要素を取得し、テキストのみを出力する事が出来ました。現状トップページのみにアクセスしているので、もっと階層の深いページにアクセスしていきましょう。2.下位ページにアクセスしてみようこのブログのURLはhttps://tac-blog.tech/index.php/2018/08/03/tag-list/といった感じで、ドメイン/index.php/年/月/日/スラグといった形で構成されています。この情報を元に、トップページからアクセスできる記事のタイトルを取得してみます。トップページから取得できるURLの一覧を取得してみましょう。'スクリプトを実行します。'スクリプトを終了します。'スクリプトを実行します。'スクリプトを終了します。PHP_EOL;}filterでアンカータグを選択し、href属性のみを取得しています。トップページだけでも135のURLがあり、カテゴリやプライバシーポリシーも入っているようです。これをもっとわかりやすい配列に変換します。'スクリプトを実行します。'スクリプトを終了します。'スクリプトを実行します。'スクリプトを終了します。PHP_EOL;}それでは、記事ページにアクセスしましょう。'スクリプトを実行します。'スクリプトを終了します。'スクリプトを実行します。'スクリプトを終了します。PHP_EOL;}}ちなみに、アイキャッチの画像を取得するとこんな感じ。'スクリプトを実行します。'スクリプトを終了します。'スクリプトを実行します。'スクリプトを終了します。PHP_EOL;}これで簡単にですが、トップページからのウェブスクレイピングが出来ました。Goutteにはリンクをクリックする方法や、eachで繰り返し処理を行うなどの機能もありますので、ペジネーションへの対応なども簡単に出来そうですね。相手方のサーバーへ過剰な負荷をかけるなどの行為は法に触れる可能性がありますので、そこらへんはご理解した上で、作業を行なってくださいね。2018.08.27結構前に遊びで作ったwebアプリケーションに久々にアクセスしてみた。2018.11.28こんばんは、のるぼるのんです。2018.09.01こんにちは、のるぼるのんです。2018.09.20こんばんは、のるぼるのんです。5.7の管理画面パッケージ「Voyager」。2018.11.20こんばんは、のるぼるのんです。コメントをキャンセルメールアドレスが公開されることはありません。*サイト次回のコメントで使用するためブラウザーに自分の名前、メールアドレス、サイトを保存する。Profileのるぼるのん元化学系の学生→謎の電気系配属→健康を謳歌する為退職→なぜかフリーランス。今はとある目標の為副業アンド副業。名前は研究してた物質の名前から。WordPress.。