こんばんは、のるぼるのんです。
最近甥っ子とベイブレードをやっています。YouTuberでレオトイさんという方が3Dプリンターを使用して色々ベイを作成していていまして。「俺の考えた最強のベイ」を実践できるというのはとても楽しそうですし、物を作る楽しさを伝えられそうで3Dプリンタ買っちゃおうかな、と少し思ってしまいますね。
さて、最近他にやりたいことがあるんですけど、そのためにはウェブスクレイピングが必要そうなんですよね。
で、今までスクレイピングを触ったことがあまりない、ということでして。今から勉強して、実際に手を動かしていこう、という段階です。
そしてそのスクレイピングのスクリプトをlaravelと関連を関連付けたい、そしてスケジュールで実行したい。
ということでLaravelのartisan コマンドが使えそうだな、ということで、artisanコマンドの作成、ウェブスクレイピングで狙ったデータを取得するところまでを目標に頑張っていきたいと思います。
1. artisan コマンドの作成
artisanコマンドの作成はコンソールからartisanコマンドを叩くことで作成可能です。(哲学的ですね)
1 |
php artisan make:command hoge |
artisan make:command からhogeコマンドを作成出来ます。今回はhoge を Scrapingとして作成してみました。
作成したartisan コマンドはapp/Console/Commandsの中に格納されます。作成したScraping.phpの中身を見てみましょう。
app/Console/Commands/Scraping.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
<?php namespace App\Console\Commands; use Illuminate\Console\Command; class Scraping extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'command:name'; /** * The console command description. * * @var string */ protected $description = 'Command description'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return mixed */ public function handle() { // } } |
$signatureがコマンド名。
$descriptionがコマンドの説明。
public function handle()内に実行スクリプトを記述ですね。
今回はコマンドの作成なので、実行内容は簡単なもので実行してみたいと思います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
<?php namespace App\Console\Commands; use Illuminate\Console\Command; class Scraping extends Command { /** * The name and signature of the console command. * * @var string */ protected $signature = 'Scraping'; /** * The console command description. * * @var string */ protected $description = 'ウェブスクレイピングを実行します。'; /** * Create a new command instance. * * @return void */ public function __construct() { parent::__construct(); } /** * Execute the console command. * * @return mixed */ public function handle() { echo 'スクリプトを実行しました。' . PHP_EOL; } } |
artisan listコマンドでコマンドを確認します。
1 |
php artisan list |
Available commandsにタイトル:説明が追加されました。実行してみましょう。
1 |
php artisan Scraping |
コンソールに文章が表示されました。
ひとまずartisan コマンドの作成はこれで終了です。お疲れ様でした。
ここから実際にウェブスクレイピングをしていくことになっていきます。
時間がかかるかもしれないので、出来た時にまた続きを書ければと思います。
コメントを書く