该功能url_parse
非常快,并且在大多数情况下都可以正常工作。但是最近,域名可能包含UTF-8字符,例如
url <- "www.cordes-tiefkühlprodukte.de"
现在,如果我url_parse
对此URL进行应用,则在域列中会得到一个特殊字符“
url_parse(url) scheme domain port path parameter fragment 1www.cordes-tiefk hlprodukte.de
我的问题是:如何将该条目“修复”为UTF-8?我尝试iconv
了stringi
软件包中的某些功能,但没有成功。
(我知道httr::parse_url
,这不存在此问题。因此一种方法是检测非ascii的url,并url_parse
在那些URL 和parse_url
少数特殊情况下使用。但是,这导致(有效)检测的问题非ASCII网址。)
编辑:不幸的是,url1 <- URLencode(enc2utf8(url))
没有帮助。当我做
robotstxt::paths_allowed( url1, domain=urltools::suffix_extract(urltools::domain(url1)) )
我得到一个错误could not resolve host
。但是,可以手动插入原始URL和第二级域paths_allowed
。
> sessionInfo()
R版本3.6.1(2019-07-05)平台:x86_64-w64-mingw32 / x64(64位)运行于:Windows 10 x64(内部版本17134)
矩阵产品:默认
区域设置:[1] LC_COLLATE = German_Germany.1252 LC_CTYPE = German_Germany.1252
[3] LC_MOnETARY= German_Germany.1252 LC_NUMERIC = C
[5] LC_TIME = German_Germany.1252
附加的基本软件包:[1]统计信息图形grDevices utils数据集方法基础
其他附带的软件包:[1] urltools_1.7.3 fortunes_1.5-4
通过名称空间(未附加)加载:[1] editor_3.6.1 Rcpp_1.0.1 triebeard_0.3.0