使用 while 循环和 nokogiri gem 导航到下一页

using while loop with nokogiri gem to navigate to next page

这是我的下一页代码

require 'nokogiri'
require 'open-uri'

doc = Nokogiri::HTML(open("http://www.asklaila.com/search/Pune/-/Electrician/10?searchNearby=false&v=listing"))
 c=  doc.css('.resultTitle').collect {|node| node.text.strip}

while a = doc.at('a.btnNextPre')
   doc = Nokogiri::HTML(open(a[:href]))
    c=  doc.css('.resultTitle').collect {|node| node.text.strip}
end

我想抓取所有的数据 pages.But 我正在获取第一页的数据 only.I 没有获取其他页面的数据 pages.Can 有人帮助我吗?提前致谢

您的代码未针对正确 class。在您的 while 循环中,您的目标是 a.btnNextPre,但 class btnNextPre 属于 li 标签,因此它应该是 li.btnNextPre。所以尝试更改您的代码:

require 'nokogiri'
require 'open-uri'

c = []
doc = Nokogiri::HTML(open("http://www.asklaila.com/search/Pune/-/Electrician?searchNearby=false&v=listing"))
 c.push(doc.css('.resultTitle').collect {|node| node.text.strip})

while a = doc.at('li.btnNextPre a')
  doc = Nokogiri::HTML(open(a[:href]))
  c.push(doc.css('.resultTitle').collect {|node| node.text.strip})
end

c