我试图浏览一下Mechanize找到的网页列表。在搜索工作正常后,我得到一个每页有10条记录的命中列表。底部导航系统带我到记录计数> 10.每页显示10个。所以53条记录= 6"组页面"我打电话给他们。
我想要做的是使用热门搜索结果页面执行以下操作:
抓住此列表中每条记录的html。我可以通过迭代来做到这一点。
按照' [下一步]'链接在底部并重复1和2直到没有更多2.基本上这将获得每个记录。
我在将第一页移到第二页时遇到问题。我抓住了前10条记录背后的html,但随后系统就开始了。不知道为什么。我以为我正在遍历群组页面,但它并没有超越第一个群组页面。
counter = 1
puts "Counter: #{counter}"
while agent.page.links_with(:text => '[Next]').count == 1
page = agent.page.link_with(:text => '[Next]').click
puts "Counter/Next: #{counter} / #{agent.page.links_with(:text => '[Next]').count}"
agent.page.links_with(text: '[complete profile]').each do |link|
a = link.click # link.click goes to each company page
r = a.body.to_s
r = r.gsub(/^\s+\n/, "")
# enter company into db
class Company < ActiveRecord::Base
end
company = Company.new
company.cdate = DateTime.now
company.status = 'new'
company.requestID = req_id
company.html = r
company.save
end
counter += 1
end
任何见解都表示赞赏。我知道我很接近。
干杯
答案 0 :(得分:0)
解决方案:移动页面后面的点击方法:
page = agent.click(page.link_with(:text => "[Next]"))