1
所以我有一個應用程序使用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每個頁面都是由不同的人制作的,所以格式很古怪,所以我只是放棄了。 –