刮掉每个父元素的最后一个锚点href(使用Ruby Nokogiri)

时间:2013-11-03 21:19:15

标签: ruby regex web-scraping nokogiri css-selectors

我正在尝试使用Nokogiri来抓取JamBase上的事件信息href。以下是网址:http://www.jambase.com/shows/Shows.aspx?ArtistID=0&VenueID=0&City=Philadelphia&State=pa&Zip=19102&radius=0&StartDate=11/1/2013&EndDate=11/1/2014&Rec=False&pagenum=1&pasi=600

事件信息的href位于td.toolCol下的最后一个锚点。我可以使用以下方法获取所有href:

page = Nokogiri::HTML(open("http://www.jambase.com/shows/Shows.aspx?ArtistID=0&VenueID=0&City=Philadelphia&State=pa&Zip=19102&radius=0&StartDate=11/1/2013&EndDate=11/1/2014&Rec=False&pagenum=1&pasi=700"))

page.css("td.toolCol a").map{|x| x["href"]}.each{|f| puts f}

但我无法弄清楚如何抓住最后一个href。 (仅供参考,有时href是第3个元素或第4个元素。最好直接指向最后一个元素。)

感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用其中一个CSS :last-*伪类,例如:last-of-type

page.css('td.toolCol a:last-of-type').map { |x| x['href'] }