如何在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是合适的刮削工具。