0

ruby初心者です。gem を使用せずに、そのドメインに関連付けられたすべてのリンクを取得する Ruby スクリプトが必要です。(例) URL をhttp://hsps.inとして入力した場合

私の期待される出力は次のとおりです。

      hsps.in/contacts
      hsps.in/projects
      hsps.in/blog ..etc

どうすればこれを達成できるか教えてもらえますか?

4

4 に答える 4

1

open-uri は標準ライブラリの一部です。nokogiri gem をインストールする必要があります。

    require 'open-uri'
    require 'nokogiri'

    url = 'http://hsps.in'
    doc = Nokogiri::HTML(open(url))
    links = doc.css('a')
    links.each { |link| puts link['href'] }
于 2013-09-13T07:26:04.643 に答える
0
require 'open-uri'

class PageLinks
  attr_reader :page
  include OpenURI

  def initialize(url)
    @page = open(url).readlines
  end

  def links
    @page.grep(/href/)
  end
end
url = 'http://www.hsps.in'
doc = PageLinks.new url

puts doc.links.inspect

あなたが「宝石を使わずに」と言ったように、Railsとタグ付けされていても、Railsを含むものを取ります。

aタグ値の値を抽出しないため、これは「クリーンな」回答ではありませんhref。しかし、gem がなくても、Ruby に付属しているものだけで実際に実行できることを示す必要があります。

于 2013-09-13T07:58:24.890 に答える