0

ruby プログラミング言語を使い始めています。アネモネを使用してページ上の PDF ファイルをクロールする Ruby スクリプトがあります。

Anemone.crawl("http://example.com") do |anemone|
  anemone.on_pages_like(/\b.+.pdf/) do |page|
    puts page.url
  end
end

gem ruby​​を使ってpage.urlをダウンロードしたい。page.url をダウンロードするには、どの gem を使用できますか?

4

2 に答える 2

3

余分な宝石は必要ありません。これを試してください

require 'anemone'

Anemone.crawl("http://www.rubyinside.com/media/",:depth_limit => 1, :obey_robots_txt => true, :skip_query_strings => true) do |anemone|
  anemone.on_pages_like(/\b.+.pdf/) do |page|
    begin
      filename = File.basename(page.url.request_uri.to_s)
      File.open(filename,"wb") {|f| f.write(page.body)}
      puts "downloaded #{page.url}"
    rescue
      puts "error while downloading #{page.url}"
    end
  end
end

与える

downloaded http://www.rubyinside.com/media/poignant-guide.pdf

そしてpdfは大丈夫です。

于 2013-03-01T17:47:18.607 に答える
-1

UNIX システムを使用している場合は、おそらくUnixUtils次のようになります。

Anemone.crawl("http://example.com") do |anemone|
  anemone.on_pages_like(/\b.+.pdf/) do |page|
    puts page.url            # => http://example.com/foo.bar
    puts UnixUtils.curl(url) # => /tmp/foo.bar.1239u98sd
  end
end
于 2013-03-01T17:37:34.933 に答える