2010-04-02 1 views
1

다음과 같이 URL 목록이 들어있는 배열에서 각 URL의 제목을 검색합니다.루비에서 nokogiri 검색을 수행하려면 어떻게해야합니까?

require 'rubygems' 
require 'nokogiri' 
require 'open-uri' 

@urls = ["http://google.com", "http://yahoo.com", "http://rubyonrails.org"] 

@found_titles = Array.new 
@found_titles[0] = Nokogiri::HTML(open("#{@urls[0]}")).search("title").inner_html 

#this can go on forever...but 
#@found_titles[1] = Nokogiri::HTML(open("#{@urls[1]}")).search("title").inner_html 
#@found_titles[2] = Nokogiri::HTML(open("#{@urls[2]}")).search("title").inner_html 

puts "#{@found_titles[0]}" 

어떻게 @url 배열의 목록이 길어집니다 경우에도 그래서 난 제목을 얻을 수 있습니다 이것에 대한 루프 방식을 형성해야한다.

답변

2

당신은 map (or collect) method 찾고 : 프롬프트 도움, 그렉 Campell에 대한

@found_titles = @urls.map {|url| Nokogiri::HTML(open(url)).search("title").inner_html } 
+0

감사합니다. 이게 내가 원하는거야. – crayfish