日期字符串不起作用

时间:2012-02-05 10:11:05

标签: ruby nokogiri

我有以下代码:

require 'nokogiri'
require 'open-uri'
def get_data( date )
  date_string = date.strftime('%d-%m-%y')
  url = "http://mobile.bahn.de/bin/mobil/bhftafel.exe/dox?input=Richard-Strauss-Stra%DFe%2C+M%FCnchen%23625127&date={date_string}&time=20%3A41&productsFilter=1111111111000000&REQTrain_name=&maxJourneys=10&start=Suchen&boardType=Abfahrt&ao=yes"
  doc = Nokogiri::HTML(open(url))
  doc.xpath('//div//p').remove
doc = doc.xpath('//div').each do |node|
   text = node.text.gsub(/\n([ \t]*\n)+/,"\n").gsub(/^\s+|\s+$/,'')
   puts text unless text.empty?
end

但是我收到了错误:

  

错误:语法错误,意外$ end,期待keyword_end

我忘了什么吗?

2 个答案:

答案 0 :(得分:1)

是的,您需要另一个end。也许这个

def get_data( date )
  date_string = date.strftime('%d-%m-%y')
  url = "http://mobile.bahn.de/bin/mobil/bhftafel.exe/dox?input=Richard-Strauss-Stra%DFe%2C+M%FCnchen%23625127&date={date_string}&time=20%3A41&productsFilter=1111111111000000&REQTrain_name=&maxJourneys=10&start=Suchen&boardType=Abfahrt&ao=yes"
  doc = Nokogiri::HTML(open(url))
  doc.xpath('//div//p').remove
  doc = doc.xpath('//div').each do |node|
     text = node.text.gsub(/\n([ \t]*\n)+/,"\n").gsub(/^\s+|\s+$/,'')
     puts text unless text.empty?
  end
end

答案 1 :(得分:0)

您应该修复代码的缩进。您会注意到最终的end正在关闭do,因此您应该添加另一个end来关闭该方法。