2012-04-18 84 views
1

所以我解析一個URL並想要使用Nokogiri獲取頁面中所有鏈接的列表。我想推回到二維數組的結果。如何在Ruby中動態創建二維數組?

我現在這樣做:

def my_list(url) 
    root = Nokogiri::HTML(open(url)) 
    list = [] 

    root.css("a").each do |link| 
     list << (link[:href])   
    end 

end 

這使我只是HTTP鏈接。如果我做list << link它給了我完整的<a>標籤。

我想要做的是推動該鏈接的只是文本(可使用link.text)說list[0][0],然後href值(使用link[:href])到其他細胞說list[0][1]

我該怎麼做?

謝謝。

回答

4
def my_list(url) 
    root = Nokogiri::HTML(open(url)) 
    root.css("a").map do |link| 
    [link.text, link[:href]]   
    end 
end 
+0

它的所有關於速度:■ – texasbruce 2012-04-18 20:29:27

+0

。水果忍者^^ – fl00r 2012-04-18 20:30:00

+0

非常感謝你讓它恢復得如此之快。 – marcamillion 2012-04-18 20:30:31

4
def my_list(url) 
    root = Nokogiri::HTML(open(url)) 
    list = [] 

    root.css("a").each do |link| 
     list << [link.text,link[:href]]   
    end 

end 
+0

這......你在球上很快;) – marcamillion 2012-04-18 20:30:58