У меня есть приложение, которое использует Mechanize для получения страницы. Обратите внимание, что HTTP-сайт, который я пытаюсь проанализировать, является файлом * .TXT.Heroku + Mechanize превращает OBJ в строку
В IRB я бегу простой программы, как:
require 'rubygems'
require 'mechanize'
require 'nokogiri'
@agent = Mechanize.new{|agent| agent.user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:9.0a2) Gecko/20111101 Firefox/9.0a2'}
@agent.get(http://some_sort_of_text_file.txt)
for line in @agent.page.content
puts line
end
Это прекрасно работает, и я получаю каждую строку в текстовом файле в качестве выходного сигнала.
Но когда я нажимаю его Heroku .. Я получаю сообщение об ошибке, как это:
NoMethodError (undefined method `each' for #<String:0x00000003ebf200>):
Ну ... Я узнал, что по какой-то причине, что страница стала одна гигантская строка файла, который я нужно сделать еще один шаг, чтобы сделать некоторые программы, как:
@doc = @agent.page.content
@items =[]
start =0
@doc.gsub(/|/, " ")
@doc.gsub(/\\n/,"|")
counter=0
while counter <= @doc.length
if(@doc[counter]== "|")
@items << @doc[start..counter]
start=counter+1
end
counter = counter+1
end
Любая идея, почему это происходит на сайте в виде строки на Heroku и почему мне нужно сделать дополнительный шаг просто сломать каждую строку в массив?
Любая помощь приветствуется.
Это был такой старый проектируемый, я положил его на задний план. Besdies каждая страница была сделана другим человеком, поэтому форматирование было дурацким, поэтому я просто сдался. –