なんども同じ様な質問すみません。
現在このサイトから学校の名前だけを抜き出して自分が制作しているサービスのデータベースに突っ込みたいと思っています。(https://www.gakkou.net/chugaku/src/?srcmode=pref&p=2)
そこでスクレイピングという技術を知り、いろいろ調べているのですが、このサイトに書いてある通り実行しようとしています。(https://vsanna.me/2015/01/26/scraping_start_up2/)
しかし、いまいちコードの書き方がわからなく、合っているかもわかりません。
周りに相談できる人がいないので、見て頂きたいです。
先ほどのサイトの青森県の学校の名前だけを抜き出そうとしています。
require 'nokogiri' require 'anemone' opts = { depth_limit: 1 } Anemone.crawl("https://www.gakkou.net/chugaku/src/?srcmode=pref&p=2", opts) do |anemone| anemone.on_every_page do |page| page.doc.xpath("/html/section[@class='ListWrapper']/li/h3").each do |node| name = node.xpath("./li/a").to_s end end end
page.docのところは自信がありませんし、
nameの右辺は全くわかっていません。
また、この学校の名前一覧はnameの中に入るものだと思いますが、これをどのようにしてデータベースに流し込めば良いのでしょうか。
すでに、rails g model Aomori name:stirng
rails db:console は実行してあります。
さらに、ここからは少し余談ですが、1日に100回以上はアクセスしないでくださいと元のサイトには書いてありますが、このようにして取得してデータベースの中に入れて使う分は相手のサイトに迷惑はかけていませんよね?
これも含めて回答よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。