スクレイピングした情報をDBに入れる方法
MovieReviewというサイトを使って実装します。
大きな流れ
- MovieReviewで表示されている映画の個別ページのリンクを取得する
- 取得した個別ページのリンク1つ1つに対してスクレイピングをする
前提① 映画の情報を扱うために今回はProductモデルを作ります。
・rails g model product
・migrationファイルにtitle,image_urlのカラム追加
・rake db:migrate
前提② sequel proにデータを入れるのでアプリケーション内にファイルを作って実行する。app/model/scraping.rb このファイル作成
知識◎ クラスメソッドが2つ必要
クラスメソッドmovie_urls
表示されている20件分の映画の個別ページのリンクURLを取得して、そのリンクをクラスメソッドget_productへ渡す処理をする。
クラスメソッドget_product
引数として渡された個別ページのリンクURLを使って「作品名」と「作品画像のURL」をスクレイピングし、それらをproductsテーブルに保存する処理を行う。
上記の流れ1、2の実装はこんな感じ
ターミナルでrails cを立ち上げ、クラスメソッドmovie_urlsを実行する
データベースに入ってます^^
以上です^^