gpt4 book ai didi

ruby - 抓取,跟随分页链接

转载 作者:行者123 更新时间:2023-12-04 16:19:01 27 4
gpt4 key购买 nike

我正在尝试抓取一个具有多个页面结果的网站,例如“1、2、3、4、5...”。
每个分页号都是到另一个页面的链接,我需要抓取每个页面。
到目前为止,我想出了这个:

while lien = page.link_with(:text=> link_number.to_s)
link_number = link_number + 1
body = page.body
html_body = Nokogiri::HTML(body)
html_body.css('#personne tbody tr').each do |person|
puts person.css('td').first.text.to_s
end
page = lien.click
end

但这永远不会破坏最后一页。

请帮助我编写更好的代码来抓取最后一页。

最佳答案

问题是在最后一页上不会有到下一页的链接。因此,while 语句的条件计算结果为 nil所以 while 的主体没有被执行。

按照建议 here你需要这样的东西:

loop do
lien = page.link_with(:text=> link_number.to_s)
link_number = link_number + 1
page.parser.css('#personne tbody tr').each do |person|
puts person.css('td').first.text.to_s
end
break unless lien
page = lien.click
end

关于ruby - 抓取,跟随分页链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30701056/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com