【问题标题】:i want to scrape some website using ruby and mechanize gems [closed]我想用红宝石和机械化宝石刮一些网站[关闭]
【发布时间】:2023-03-11 13:25:01
【问题描述】:

我想抓取一些包含分页的网站。

例如http://somesite.com/page/

我想抓取每个分页中的每个帖子。

所以,在 page/1 中,大约有 5 个帖子。

如何抓取每个分页中的每个数据?直到最后一页?

我已经搜索和研究,我发现了 2 个类似的问题,但我仍然混淆它..

这里>>

first way

second way

知道如何组合吗?

感谢之前

【问题讨论】:

标签: ruby-on-rails ruby pagination web-scraping


【解决方案1】:

必须使用机械化宝石?我强烈建议您使用Nokogiri。它非常简单易用。

你可以有一个循环来获取页面并在你找不到页面时停止。

require 'open-uri'
require 'nokogiri'
pages_count = 1
loop do
    @html = Nokogiri::HTML(open("somepage.com/#{pages_count}"))
    ...
    pages_count = pages_count + 1
end

【讨论】:

  • 你能帮帮我吗?
  • 有什么可以帮助您的吗?
  • 帮我找到解决方案..
  • 我发布的 sn-p 应该会指导您如何抓取多个 indexed-by-url 页面。您只需要在循环块中进行抓取并更改 url。您必须更准确地解决您的疑问,以便我们更好地帮助您
  • 在这种情况下,我需要 .click 方法来打开每个帖子,因为每个帖子都有预览缩略图。那么如何让它自己点击,然后抓取数据呢?因为它有点困难
猜你喜欢
  • 1970-01-01
  • 2012-09-01
  • 2012-04-28
  • 2015-07-27
  • 1970-01-01
  • 2011-01-10
  • 1970-01-01
  • 2012-03-03
  • 1970-01-01
相关资源
最近更新 更多