我正在嘗試獲取title
標籤中的內容,但我無法完成此操作。我正在遵循一些關於應該工作的stackoverflow的答案,但對我來說他們沒有。使用Ruby獲取頁面標題
這是我在做什麼:
require "open-uri"
require "uri"
def browse startpage, depth, block
if depth > 0
begin
open(startpage){ |f|
block.call startpage, f
}
rescue
return
end
end
end
browse("https://www.ruby-lang.org/es/", 2, lambda { |page_name, web|
puts "Header information:"
puts "Title: #{web.to_s.scan(/<title>(.*?)<\/title>/)}"
puts "Base URI: #{web.base_uri}"
puts "Content Type: #{web.content_type}"
puts "Charset: #{web.charset}"
puts "-----------------------------"
})
標題輸出只是[]
,爲什麼呢?
你是不是想用這個只開放-URI嗎?爲什麼不使用Nokogiri? – daremkd 2014-11-06 12:00:55
@daremkd是的,我看到Nokogiri服務於這個目的,但我想這樣做,我想知道爲什麼我得到一個空列表作爲標題。在所有這些解決之後,作爲額外提示的Nokogiri解決方案也可以很好。 – dabadaba 2014-11-06 12:14:45
使用正則表達式來解析HTML標籤是非常令人沮喪的。在任何網頁上可能會有成千上萬的細微差別,可能會導致您的正則表達式無法工作。 – daremkd 2014-11-06 12:16:20