Ruby抓取站点,添加URL参数

时间:2017-09-25 13:49:49

标签: ruby web-crawler

我正在尝试抓取某个网站并在每个地址附加一个网址参数,然后再点击它们。这就是我到目前为止所拥有的:

A

但是我想让蜘蛛打到所有页面并附上一个像这样的参数:

  • example.com/page1?var=param1
  • example.com/page2?var=param1
  • example.com/page3?var=param1

更新1 - 试过这个,但没有工作,经过几次迭代后出错(" 405方法不允许"):

 require "spidr"
    Spidr.site('http://www.example.com/') do |spider|
      spider.every_url { |url| puts url }
    end

1 个答案:

答案 0 :(得分:0)

我没有依赖Spidr,而只是从Google Analytics中抓取了我需要的网址的CSV,然后通过这些网址运行。完成了工作。

require 'csv'
require 'open-uri'

CSV.foreach(File.path("the-links.csv")) do |row|
    link = "http://www.example.com"+row[0]+"?foo=bar"
    encoded_url = URI.encode(link)
    response = open(encoded_url).read
    puts encoded_url
    puts
end