URLは”/”や”:”、”#”そして”?”などのメタ文字を含むので操作が非常に厄介です。そんな文字列を気にせずURLの操作が可能なパッケージの紹介です。
パッケージバージョンは1.7.3。実行コマンドはR version 4.2.2で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
#パッケージのインストール
install.packages("urltools")
実行コマンド
詳細はコメント、パッケージのヘルプを確認してください。
#パッケージの読み込み
library("urltools")
#URL例:からだにいいもの「Rの解析に役に立つ記事」一覧
ExURL <- "https://karada-good.net/category/analyticsr?GOOD=KIJI#TEST"
#ドメイン名の表示:domainコマンド
domain(ExURL)
[1] "karada-good.net"
#アンカー名を表示:fragmentコマンド
fragment(ExURL)
[1] "TEST"
#変更も可能
fragment(ExURL) <- "KARADAGOOD"
#確認
ExURL
[1] "https://karada-good.net/category/analyticsr?GOOD=KIJI#KARADAGOOD"
#パラメーターを取得:parametersコマンド
parameters(ExURL)
[1] "GOOD=KIJI"
#変更も可能
parameters(ExURL) <- "KARADA=KIJI"
#確認
ExURL
[1] "https://karada-good.net/category/analyticsr?KARADA=KIJI#KARADAGOOD"
#パラメーターを削除:param_removeコマンド
#複数パラメータの場合はc("X1", "X2", ...)と指定する
param_remove(ExURL, "KARADA")
[1] "https://karada-good.net/category/analyticsr"
#パスの取得:pathコマンド
path(ExURL)
[1] "category/analyticsr"
#ポート番号を取得:portコマンド
ExPortURL <- "https://karada-good.net:80"
port(ExPortURL)
[1] "80"
#変更
port(ExPortURL) <- "36"
#確認
ExPortURL
[1] "https://karada-good.net:36"
#スキームの取得:schemeコマンド
scheme(ExURL)
[1] "https"
#変更
scheme(ExURL) <- "ftp"
#確認
ExURL
[1] "ftp://karada-good.net/category/analyticsr?KARADA=KIJI#KARADAGOOD"
#URL構造を取得:url_parseコマンド
url_parse(ExURL)
scheme domain port path parameter fragment
1 ftp karada-good.net <NA> category/analyticsr KARADA=KIJI KARADAGOOD
少しでも、あなたの解析が楽になりますように!!