rails スクレイピング　nokogiri

##はじめに
yahooのある単語を調べた時の1~10ページ（約100件の検索結果）のタイトル、説明文、リンクを取得するスクレイピングコードを書きました。

###ソース

```scrape.rb

equire 'open-uri'
require 'nokogiri'

# スクレイピング先のURL
urls = %w(
  https://search.yahoo.co.jp/search?p=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ei=UTF-8&aq=-1&oq=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ai=2e.4BCDARryb9NEK11BPXA&ts=3110&fr=top_ga1_sa&b=1
  https://search.yahoo.co.jp/search?p=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ei=UTF-8&aq=-1&oq=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ai=2e.4BCDARryb9NEK11BPXA&ts=3110&fr=top_ga1_sa&b=11
  https://search.yahoo.co.jp/search?p=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ei=UTF-8&aq=-1&oq=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ai=2e.4BCDARryb9NEK11BPXA&ts=3110&fr=top_ga1_sa&b=21
  https://search.yahoo.co.jp/search?p=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ei=UTF-8&aq=-1&oq=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ai=2e.4BCDARryb9NEK11BPXA&ts=3110&fr=top_ga1_sa&b=31
  https://search.yahoo.co.jp/search?p=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ei=UTF-8&aq=-1&oq=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ai=2e.4BCDARryb9NEK11BPXA&ts=3110&fr=top_ga1_sa&b=41
  https://search.yahoo.co.jp/search?p=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ei=UTF-8&aq=-1&oq=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ai=2e.4BCDARryb9NEK11BPXA&ts=3110&fr=top_ga1_sa&b=51
  https://search.yahoo.co.jp/search?p=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ei=UTF-8&aq=-1&oq=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ai=2e.4BCDARryb9NEK11BPXA&ts=3110&fr=top_ga1_sa&b=61
  https://search.yahoo.co.jp/search?p=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ei=UTF-8&aq=-1&oq=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ai=2e.4BCDARryb9NEK11BPXA&ts=3110&fr=top_ga1_sa&b=71
  https://search.yahoo.co.jp/search?p=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ei=UTF-8&aq=-1&oq=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ai=2e.4BCDARryb9NEK11BPXA&ts=3110&fr=top_ga1_sa&b=81
  https://search.yahoo.co.jp/search?p=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ei=UTF-8&aq=-1&oq=%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90&ai=2e.4BCDARryb9NEK11BPXA&ts=3110&fr=top_ga1_sa&b=91

)

urls.each do |url|
  charset = nil
  html = open(url) do |f|
    charset = f.charset # 文字種別を取得
    f.read # htmlを読み込んで変数htmlに渡す
  end

  # htmlをパース(解析)してオブジェクトを作成
  doc = Nokogiri::HTML.parse(html, nil, charset)

  p doc.title

  doc.xpath('//ol/li').each do |node|
    #タイトル
    p node.css('a').text
    title = node.css('a').text
    #概要
    p node.css('div').text
    description = node.css('div').text
    #link
    p node.css('a').attribute("href").value
    link = node.css('a').attribute("href").value

    scrape = Scrape.new(

        :title            => title,
        :description      => description,
        :link             => link
      )
      scrape.save
  end

end
```

こちらをrails runnerで動かすと以下のような結果が得られます。

```
rails runner lib/scrape.rb
```


```"「西加奈子」の検索結果 - Yahoo!検索"
"西加奈子 : Nishi Kanako"
"Nishi Kanako official website · Information & Diary · Works · Exhibition · Gallery · \nBiography; Select Language. 日本語 · English. copyright © 2017 nishikanako.\ncom."
"http://www.nishikanako.com/"
"西加奈子 - Wikipedia"
"西 加奈子（にし かなこ、1977年5月7日 - ）は、日本の小説家。イラン ・テヘラン生まれ。\nエジプト・カイロ、大阪府和泉市光明台育ち。和泉市立光明台中学校、大阪府立泉陽\n高等学校、関西大学法学部卒業。既婚。 『ぴあ』のライターを経て、出版社への持ち込み\n ..."
"https://ja.wikipedia.org/wiki/%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90"
"西加奈子 おすすめランキング (98作品) - ブクログ"
"著者「西加奈子」のおすすめランキングです。西加奈子のおすすめランキング、人気・\nレビュー数ランキング、新刊情報、Kindleストア等の電子書籍の対応状況をチェック！ \nプロフィール：西加奈子（にし かなこ）1977年、イランのテヘラン生まれ。エ…"
"https://booklog.jp/author/%E8%A5%BF%E5%8A%A0%E5%A5%88%E5%AD%90"
"Amazon.co.jp: 西 加奈子:作品一覧、著者略歴"
"西 加奈子さんの後を追って、Amazon.comの西 加奈子の著者ページから参考資料を\n探します。"
"https://www.amazon.co.jp/%E8%A5%BF-%E5%8A%A0%E5%A5%88%E5%AD%90/e/B004LUPNW0"
"i 西加奈子 | ポプラ社"
"『サラバ！』(直木賞受賞作)の西加奈子が、どうしても描きたかった物語。「i」"
"https://www.poplar.co.jp/pr/i/inteaview.html"
"西加奈子の小説からおすすめを厳選・12作品 | ダ・ヴィンチニュース"
"2018年4月17日 ... 直木賞作家・西加奈子待望の短編集『おまじない』（筑摩書房）が2018年3月2日に出版\nされる。自身も関西で育ち、人情や愛憎の色濃い関西を舞台としたものが多い作品の\n数々には、引き込まれるように笑って読み進めながらも、 ..."
"https://ddnavi.com/matome/451858/a/"
"作家で画家、西加奈子の自宅で見つけた、クリエイティブで ... - YouTube"
"2018年11月30日 ... で直木賞を受賞、作品はもちろんそのエネルギッシュで明るい素顔でも人気を集める 作家、西加奈子。小説作品や絵画 ..."
"https://www.youtube.com/watch?v=4L5fmUSCLfA"
"「お世辞」は信じたほうがずっと幸せ。作家・西加奈子インタビュー（） | 現代 ..."
"西加奈子さんの最新作『まく子』は大人になる変化に恐怖と感じる少年と、変化を望む\n少女の成長の物語だ。本作は自身の経験の「自戒もふくめている」と話す西さんに話を\n聞いた。"
"https://gendai.ismedia.jp/articles/-/48294"
"作家、西加奈子に聞く10の質問。【世界18ヶ国の働く女性たち】｜ライフ ..."
"2018年8月27日 ... 2004年『あおい』で小説家デビューを果たし、2015年に『サラバ！』で直木賞を受賞。\n2018年には新作短編集『おまじない』を発表した、作家の西加奈子。一児の母としての\n顔も持つ彼女が、プライベートや仕事にまつわる様々な質問に答えて ..."
"https://www.vogue.co.jp/lifestyle/interview/2018-08-Kanako-Nishi"
"作家で画家、西加奈子の自宅で見つけた - VOGUE JAPAN"
"2018年11月13日 ... で直木賞を受賞、作品はもちろんそのエネルギッシュで明るい素顔でも人気を集める\n作家、西加奈子。小説作品や絵画など、ジャンルを超えたクリエイティブを続ける彼女の\n創作の源とは？ プライベートとワークスペースを兼ねた自宅で見つけ ..."```


##終わりに
ソースがまだまだ綺麗になるだろうということで、ご親切な方よろしくです♪( ´▽｀)