У меня есть функция R, которая должна сканировать данные с веб-сайта и сохранять их в текстовом файле.Но по некоторым причинам он работал раньше, но через несколько дней возвращает пустой файл.
Модель: `
class NDCCode < ActiveRecord::Base
self.table_name='ndc_codes'
def crawl
R.eval "library(rvest)"
R.eval "library(stringr)"
R.eval "load('app/models/rdata/ndc_crawler.RData')"
R.eval "ndc_crawler('#{ndc_code}')"
end
end
` Контроллер:
class MedicationsController < ApplicationController
def ndc_crawl
ndc = NDCCode.find_by(ndc_code: params[:ndc])
ndc.crawl
file_content=File.read("#{Rails.root}/product_info.txt")
puts file_content
render plain: file_content.gsub(/\n|\r/, '<br>')
end
end
Моя командная строкапоказывает
.RINRUBY.PARSE.STRING <- rinruby_get_value()
rinruby_parseable(.RINRUBY.PARSE.STRING)
rm(.RINRUBY.PARSE.STRING)
library(rvest)
print('RINRUBY.EVAL.FLAG')
.RINRUBY.PARSE.STRING <- rinruby_get_value()
rinruby_parseable(.RINRUBY.PARSE.STRING)
rm(.RINRUBY.PARSE.STRING)
library(stringr)
print('RINRUBY.EVAL.FLAG')
.RINRUBY.PARSE.STRING <- rinruby_get_value()
rinruby_parseable(.RINRUBY.PARSE.STRING)
rm(.RINRUBY.PARSE.STRING)
load('app/models/rdata/ndc_crawler.RData')
print('RINRUBY.EVAL.FLAG')
.RINRUBY.PARSE.STRING <- rinruby_get_value()
rinruby_parseable(.RINRUBY.PARSE.STRING)
rm(.RINRUBY.PARSE.STRING)
ndc_crawler('00603374621')
print('RINRUBY.EVAL.FLAG')
Rendered text template (0.1ms)
Completed 200 OK in 678ms (Views: 17.5ms | ActiveRecord: 46.3ms)
R версия R-3.2.3, установлены пакеты rvest, stringr.Использование rinruby gem.
Любая помощь будет принята с благодарностью.ТИА