如何在ruby中刮取下一页

如何在ruby中刮取下一页,ruby,nokogiri,mechanize,Ruby,Nokogiri,Mechanize,我正在努力浏览网站的下一页https://www.jobsatosu.com/postings/search。因为有很多工作,所以有很多页面。我们的团队成功地抓取了第一页,如下所示: def initialize @agent_menu = Mechanize.new @page = @agent_menu.get(PAGE_URL) @form = @page.forms[0] 我正在努力刮下一页。另外,我们被告知在Ruby中使用Nokogir

我正在努力浏览网站的下一页
https://www.jobsatosu.com/postings/search
。因为有很多工作,所以有很多页面。我们的团队成功地抓取了第一页,如下所示:

def initialize
        @agent_menu = Mechanize.new
        @page = @agent_menu.get(PAGE_URL)
        @form = @page.forms[0]
我正在努力刮下一页。另外,我们被告知在Ruby中使用Nokogiri和Mechanize。我只需要抓取下一页,而不必解析它

这就是我所做的:

def next_page
        @page_num += 1
        new_url = "https://www.jobsatosu.com/postings/search?page=#{@page_num}"
        @new_page = @agent_menu.get(new_url)
        @new_form = @new_page.forms[0]
    end
我制作了一个
page\u num
供大家分享。如果有人调用该方法,那么它将以1进行迭代,并获得新的URL,将其放入
@new\u page

我还没有测试过这个,但是对这个代码有什么想法吗?

在使用之前需要初始化
@page\u num=0

第一次
@page_num
为零,因此
@page_num+=1
引发执行选项

NoMethodError:nil:NilClass的未定义方法“+”


实际上,在使用之前,您不需要描述变量,但在这种情况下,您需要这样做

我建议您阅读“”、“”。你的问题没有提到代码有问题,所以你想检查一下代码?如果是这样的话,那么so就不是一个合适的地方,因为它是一个帮助解决编码问题的网站。一旦代码被编写并运行,那么可能会更合适。为了澄清,您加载了页面,但没有刮去它。刮取是指从页面内容中实际检索信息。通常情况下,我们不会使用机械化,尽管这是可能的,因为它的基础是Nokogiri;Nokogiri是合适的刮削工具。