首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >urltools:检索域不工作

urltools:检索域不工作
EN

Stack Overflow用户
提问于 2017-02-16 03:41:19
回答 1查看 108关注 0票数 0

我有一个有100K个URL的数据帧。下面是一个子集。

代码语言:javascript
复制
URLs <- c("123kbk.weebly.com", 
          "123kinderstreet.weebly.com", 
          "118rocks.weebly.com",
          "100detonados.blogspot.com.br",
          "100detonados.blogspot.com.br",
          "12d3.x1.realtypromls.com",
          "15kdmh7773q7.asia.com3456.com",
          "weebly.com")

test<-data.frame(URLs)

                           URLs
1             123kbk.weebly.com
2    123kinderstreet.weebly.com
3           118rocks.weebly.com
4  100detonados.blogspot.com.br
5  100detonados.blogspot.com.br
6      12d3.x1.realtypromls.com
7 15kdmh7773q7.asia.com3456.com
8                    weebly.com

然后,我想提取实际的域,并从urltools包的以下函数中获得两个不同的答案:

代码语言:javascript
复制
suffix_extract(domain(test$URLs))

                           host         subdomain       domain          suffix
1             123kbk.weebly.com            123kbk       weebly             com
2    123kinderstreet.weebly.com   123kinderstreet       weebly             com
3           118rocks.weebly.com          118rocks       weebly             com
4  100detonados.blogspot.com.br              <NA> 100detonados blogspot.com.br
5  100detonados.blogspot.com.br              <NA> 100detonados blogspot.com.br
6      12d3.x1.realtypromls.com           12d3.x1 realtypromls             com
7 15kdmh7773q7.asia.com3456.com 15kdmh7773q7.asia      com3456             com
8                    weebly.com              <NA>       weebly             com       

blogspot.com.br应该是域,在本例中是后缀。

然后我尝试了这个例子:

代码语言:javascript
复制
host_extract(domain(test$URLs))

                         domain            host
1             123kbk.weebly.com          123kbk
2    123kinderstreet.weebly.com 123kinderstreet
3           118rocks.weebly.com        118rocks
4  100detonados.blogspot.com.br    100detonados
5  100detonados.blogspot.com.br    100detonados
6      12d3.x1.realtypromls.com            12d3
7 15kdmh7773q7.asia.com3456.com    15kdmh7773q7
8                    weebly.com          weebly

当我尝试这样做时,blogspot.com.br可以工作,但是主机不接受12d3.x115kdmh7773q7.asia。它还使weebly成为最后一行中的主机,我将使用它从域列表中删除那些主机。

有没有更好的函数来提取域名?或者有没有一种方法可以让我同时使用这两个函数来修复它所犯的错误?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-02-16 15:24:10

因此,它不需要修复,因为它没有犯任何错误-它所做的正是每个函数期望做的事情。

在第一种情况下,正如suffix_extract中的suffix所建议的那样,它查找后缀。这些与域名或顶级域不同:后缀是域名和TLD的组合,用户可以在其中注册域。这就是为什么它去掉了博客的子域: blogspot.com及其变体是公共后缀,并且可以在public suffix list中看到,所以它去掉了100detonados.blogspot.com.br上的所有东西作为后缀。weebly没有注册为后缀,但.com注册为后缀-这就是为什么.com被删除,而weebly被保留为子域的原因。

在第二种情况下,它查找主机,这是域的最低级别部分:如果有子域,最低的子域是主机,否则域名是主机。再一次,它似乎正在做它应该做的事情。

你到底想在这里得到什么?通常理解的“域名”,没有任何顶级或子域或子域?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42258600

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档