www
Rubyで任意のURLを解析して、 ( だけexample.com
)を除いたドメインの主要部分を取得できるようにしたい。
ベストアンサー1
ご注意ください特定のトップレベルドメインに対してドメインを登録できる最高レベルを見つけるアルゴリズム的な方法は存在しない。(ポリシーはレジストリごとに異なります)、唯一の方法は、すべてのトップレベルドメインとドメインを登録できるレベルのリストを作成することです。
これが、パブリックサフィックスリスト存在します。
私はパブリックサフィックスドメインをさまざまな部分に分解する Ruby ライブラリ。
例を挙げてみましょう
require 'uri/http'
uri = URI.parse("http://toolbar.google.com")
domain = PublicSuffix.parse(uri.host)
# => "toolbar.google.com"
domain.domain
# => "google.com"
uri = URI.parse("http://www.google.co.uk")
domain = PublicSuffix.parse(uri.host)
# => "www.google.co.uk"
domain.domain
# => "google.co.uk"