2017-09-25 3 views
0

サイトをクロールしようとしています。は、各アドレスにURLパラメータを追加する前に付加しています。Rubyのクロールサイト、URLパラメータを追加

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

しかし、私はそうのようなのparamをすべてのページにヒットして追加するクモをみたい:ここで私がこれまで持っているものだ

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

UPDATE 1 - はしかし動作していない、これを試してみましたが、電子rrorsアウト(「許可されていない405の方法」)は、数回の反復の後:

require "spidr" 
require "open-uri" 
Spidr.site('http://example.com') do |spider| 
    spider.every_url do |url| 
    link= url+"?foo=bar" 
    response = open(link).read 
    end 
end 
+0

URLの配列にパラメータを追加するだけです。試しましたか? –

+0

それは私に起こったのですが、それで何ですか?適切にフォーマットされたURLの配列を作成したら、spidrを使ってそのURLを実行しますか? – mustacheMcGee

+1

いいですね。それを試してください –

答えて

0

代わりのSpidrに頼って、私はちょうどそれらを通して走った、私はGoogleアナリティクスから必要なURLの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 
関連する問題