nokogiriでwebスクレイピングした値をDBに保存するというコードをrakeファイルに記述しております。
Prescraping ```はモデルクラス名です。 ```ここに言語を入力 #scrap.rake doc = Nokogiri::HTML.parse(html,nil,'Shift_JIS') doc.search("table a").each do |nodesets| name = nodesets.inner_text feed = Prescraping.new(:name => name) feed.save end doc.search("table b").each do |nodesets| number = nodesets.inner_text feed = Prescraping.new(:number => number) feed.save end
table aの値にはテーブル内でa hrefのリンクタグで囲っている名前のテキスト(複数あります)を取ってきており、
table bの値には同じくテーブル内にあるbタグの中にある数が書いてあるテキスト(こちらもnameの数だけあります)を取ってきているとします。
理想としては
id name number 1 tanaka 15 2 satoh 18 3 watanabe 20 4 katoh 23
といった形でDBで保存したいのですが現状、上のコードですと
id name number 1 tanaka 2 satoh 3 watanabe 4 katoh 5 15 6 18 7 20 8 23
といったようにsearch(table a)の値を全てレコードに保存した後に、numberカラムにレコードが保存されている形となっております、上のように綺麗にレコードに値を保存していくにはrakeファイルをどのように書き換えれば良いでしょうか?
よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/06/30 17:22