检查网站是否根据其URL中的模式提供照片或视频



我想知道如何通过检查网站的URL来确定网站是否提供照片或视频。我调查了我感兴趣的网站,发现我拥有的大多数链接都是这样的形式:(我不确定我是否真的能命名网站,所以现在我只是以一个例子的形式写了它(:

http://www.example.com/abcdef

其中example是主域,而abcdef则是一个类似69964的数字。我发现一个有趣的模式是,在输入这个URL后,如果它真的有视频,URL会自动变为https://www.example.com/abcdef#mode=tour,而如果它只是一张照片,它会变成https://www.example.com/abcdef#mode=0

现在我有一个来自这个网站的URL列表,我只想检查它是否有照片或视频,或者它不工作(无效URL(。有什么可以做的吗?

所以我有一个非常简单的解决方案。

检查OP提供的URL(例如https://www.pixilink.com/93313(表明#mode=默认值由嵌入javascript中的变量initial_mode =提供。因此,为了确定URL是否将默认为"0";图片";(#mode=0(或视频(#mode=tour(可以通过研究分配给该变量的值来实现。

#Function to get the value of initial_mode from the URL
urlmode <- function(x){
mycontent <- readLines(x)
mypos <- grep("initial_mode = ", mycontent)

if(grepl("0", mycontent[mypos])){
cat("n", x, "has default initial_mode picture: #mode=0 n")
return("picture")
} else if(grepl("tour", mycontent[mypos])){
cat("n", x, "has default initial_mode video: #mode=tour n")
return("video")
} else{
cat("n", x, "is an invalid URL. n")
return("invalid")
}
}

#Example URLs to demonstrate functionality
myurl1 <- "https://www.pixilink.com/93313"
myurl2 <- "https://www.pixilink.com/69964"

urlmode(myurl1)
#
# https://www.pixilink.com/93313 has default initial_mode picture: #mode=0 
#[1] "picture"
#Warning message:
#In readLines(x) :
#  incomplete final line found on 'https://www.pixilink.com/93313'
#
urlmode(myurl2)
#
# https://www.pixilink.com/69964 has default initial_mode video: #mode=tour 
#[1] "video"
#Warning message:
#In readLines(x) :
#  incomplete final line found on 'https://www.pixilink.com/69964'

不用说,这是一个极其简单的函数,除了理想的(子(情况外,它(很可能(会失败。但这只是一个开始。

最新更新