Ruby - ウェブスクレイピング - URI 分解

 クラウディア
1. 概要
2. プロトコルとルートを取得して URI を組み立て

1. 概要

 何をやりたいかというとそもそも最初に引数で与えた URI を分解して、プロトコルとドキュメントのルートを取り出したい・・・と。  そもそもの組込モジュールである URI が使えそうなので今さらながら調べてみます。  URI についの詳細は「Ruby 2.5.0 リファレンスマニュアル > ライブラリ一覧 > uriライブラリ > URIモジュール 」で。

2. プロトコルとルートを取得して URI を組み立て

 split という URI を分割するメソッドが使えそうです。  こういうソースを書いてみました。

#!/usr/bin/env ruby

split = URI.split(ARGV[0])								←	split の動きを確認

puts("#{split}")

protocol, userinfo, domain, other  = URI.split(ARGV[0])	←	欲しい部分のみを取得する

puts("protocol = [#{protocol}]")
puts("domain   = [#{domain}]")

toplevel = "#{protocol}" + "://" + "#{domain}"			←	再組立て
puts("toplevel = [#{toplevel}]")
 実行してみます。

./ソースファイル名.rb http://freebsd.sing.ne.jp/windows/01/99.html
["http", nil, "freebsd.sing.ne.jp", nil, nil, "/windows/01/99.html", nil, nil, nil]
protocol = [http]
domain   = [freebsd.sing.ne.jp]
toplevel = [http://freebsd.sing.ne.jp]
 うむ、予定通り