ruby初心者です。gem を使用せずに、そのドメインに関連付けられたすべてのリンクを取得する Ruby スクリプトが必要です。(例) URL をhttp://hsps.inとして入力した場合
私の期待される出力は次のとおりです。
hsps.in/contacts
hsps.in/projects
hsps.in/blog ..etc
どうすればこれを達成できるか教えてもらえますか?
ruby初心者です。gem を使用せずに、そのドメインに関連付けられたすべてのリンクを取得する Ruby スクリプトが必要です。(例) URL をhttp://hsps.inとして入力した場合
私の期待される出力は次のとおりです。
hsps.in/contacts
hsps.in/projects
hsps.in/blog ..etc
どうすればこれを達成できるか教えてもらえますか?
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'] }
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 に付属しているものだけで実際に実行できることを示す必要があります。