Ruby Mechanize:跟随链接



在Mechanize on Ruby中,我必须为我访问的每个新页面分配一个新变量。例如:

  page2 = page1.link_with(:text => "Continue").click
  page3 = page2.link_with(:text => "About").click
  ...etc

有没有一种方法来运行机械化没有一个变量持有每个页面状态?像

  my_only_page.link_with(:text => "Continue").click!
  my_only_page.link_with(:text => "About").click!

我不知道我是否正确理解了你的问题,但如果这是一个动态循环通过许多页面并处理它们的问题,你可以这样做:

    require 'mechanize'
    url = "http://example.com"
    agent = Mechanize.new
    page = agent.get(url) #Get the starting page
    loop do
      # What you want to do on the page - ex. extract something...
      item = page.parser.css('.some_item').text
      item.save
      if link = page.link_with(:text => "Continue") # As long as there is still a nextpage link...
        page = link.click
      else # If no link left, then break out of loop
        break
      end
    end

相关内容

  • 没有找到相关文章

最新更新