質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

Q&A

解決済

1回答

1056閲覧

クローラーでブラウザの表示内容を自動で更新する方法について

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Ruby on Rails 4

Ruby on Rails4はRubyによって書かれたオープンソースのウェブフレームワークです。 Ruby on Railsは「設定より規約」の原則に従っており、効率的に作業を行うために再開発を行う必要をなくしてくれます。

0グッド

2クリップ

投稿2017/07/14 10:34

###前提・実現したいこと
ニュースサイトのクローラーを試しに作っています。
一定時間毎にスクレイピングをし、内容が変化していれば保存をし、変化した内容をビューにその都度自動で表示させたいと思っています。
下記のコードを実行した場合、該当のサイトの取得したいテキスト部分をDBに保存をし、最初の一回目はビューに反映をさせることはできるのですが、変化があった場合のビューの表示が全く変わらずに困っています。
DBには変化があった内容がちゃんと更新されて保存はされてるのですが、ビューだけが更新された内容に変わりません。
これは何が原因でどうすれば解決ができるのでしょうか?

###該当のソースコード
(controller.rbの内容 )
class ~Controller < ApplicationController

require 'open-uri'
require 'nokogiri'

def index
url = "サイト名"
doc = Nokogiri::HTML(open(url))
aaa = モデル名.find(1)

while true if aaa.カラム名 != doc.css('cssセレクタ').inner_text aaa.カラム名 = doc.css('cssセレクタ').inner_text aaa.save @aaa = モデル名.find(1).カラム名 end sleep 10 end

end
end


(html.erbのコード)
<%= @aaa %>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ruby

1@aaa = モデル名.find(1).カラム名

id=1を常に取得してますね。

投稿2017/07/14 14:50

NCC1701

総合スコア1680

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/07/14 15:06

id=1のカラムの中身がクローリングによって変わっていくので問題がないような気がするのですがなぜ1のままだとダメなのでしょうか?
NCC1701

2017/07/14 23:45

ビューを更新してなかったり、キャッシュを読んでるだけだったりということはないですか?
退会済みユーザー

退会済みユーザー

2017/07/15 09:26

ビューは<%= @aaa %>にしているので自動で中身が変わるのではないのでしょうか?何か他に必要なコードはいるのでしょうか?
NCC1701

2017/07/16 01:00

HTTPリクエストがないので表示は変わらないです。Rilsの問題ではなくてWebの仕組みです。HTTP、ブラウザ、仕組み、あたりで検索するとよいです
退会済みユーザー

退会済みユーザー

2017/07/16 02:51

なるほど、毎回リクエストをする必要があったのですね 毎回リクエストをするように変えてみます 回答ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問