如何使用 R 将 a href 更改为 URL?
How to change the a href into an URL using R?
如何使用 R 将 href 更改为有意义的 URL?通过有意义我理解一个地址,如果粘贴到浏览器将正确打开。
例如:
<a href="../../systemfit/html/systemfit.html">systemfit</a>
阅读自:
http://artax.karlin.mff.cuni.cz/r-help/library/systemfit/html/systemfit.control.html
进入:
http://artax.karlin.mff.cuni.cz/r-help/library/systemfit/html/systemfit.html
我做的是:
collectLinks <- function(x){
library(stringi)
fileUrl <- (x)
html <- paste(readLines(fileUrl, warn=FALSE), collapse="\n")
matched <- stri_match_all_regex(html, "<a href=\"(.*?)\"")
matched[[1]][, 2]
}
links <- collectLinks("http://artax.karlin.mff.cuni.cz/r-help/library/systemfit/html/systemfit.control.html")
函数 collectLinks 将包含 URL 的字符串作为输入。它 returns 在 x 上找到的 href 内容的字符向量。
我接下来要做的是遍历链接中的每个元素并从中提取 href 内容。然而:
[1] "../../systemfit/html/systemfit.html" "../../systemfit/html/solve.html"
[3] "../../systemfit/html/det.html" "../../systemfit/html/systemfit.html"
[5] "mailto:arne.henningsen@googlemail.com" "../../systemfit/html/systemfit.html"
[7] "00Index.html"
没有意义 URLs.
readLines(links[1])
Error in file(con, "r") : cannot open the connection
In addition: Warning message:
In file(con, "r") :
cannot open file '../../systemfit/html/systemfit.html': No such file or directory
我想知道是否有一种通用的方法可以将 href 内容转换为有意义的 URL 可以进一步利用?
library(XML)
k1<-getHTMLLink("http://artax.karlin.mff.cuni.cz/r-help/library/systemfit/html/systemfit.control.html")
#k1[6] is what you are looking for:
>k1[6]
[1] "../../systemfit/html/systemfit.html"
k2<-htmlParse(sub("../..", "http://artax.karlin.mff.cuni.cz/r-help/library",k1[6]))
如何使用 R 将 href 更改为有意义的 URL?通过有意义我理解一个地址,如果粘贴到浏览器将正确打开。
例如:
<a href="../../systemfit/html/systemfit.html">systemfit</a>
阅读自: http://artax.karlin.mff.cuni.cz/r-help/library/systemfit/html/systemfit.control.html
进入: http://artax.karlin.mff.cuni.cz/r-help/library/systemfit/html/systemfit.html
我做的是:
collectLinks <- function(x){
library(stringi)
fileUrl <- (x)
html <- paste(readLines(fileUrl, warn=FALSE), collapse="\n")
matched <- stri_match_all_regex(html, "<a href=\"(.*?)\"")
matched[[1]][, 2]
}
links <- collectLinks("http://artax.karlin.mff.cuni.cz/r-help/library/systemfit/html/systemfit.control.html")
函数 collectLinks 将包含 URL 的字符串作为输入。它 returns 在 x 上找到的 href 内容的字符向量。
我接下来要做的是遍历链接中的每个元素并从中提取 href 内容。然而:
[1] "../../systemfit/html/systemfit.html" "../../systemfit/html/solve.html"
[3] "../../systemfit/html/det.html" "../../systemfit/html/systemfit.html"
[5] "mailto:arne.henningsen@googlemail.com" "../../systemfit/html/systemfit.html"
[7] "00Index.html"
没有意义 URLs.
readLines(links[1])
Error in file(con, "r") : cannot open the connection
In addition: Warning message:
In file(con, "r") :
cannot open file '../../systemfit/html/systemfit.html': No such file or directory
我想知道是否有一种通用的方法可以将 href 内容转换为有意义的 URL 可以进一步利用?
library(XML)
k1<-getHTMLLink("http://artax.karlin.mff.cuni.cz/r-help/library/systemfit/html/systemfit.control.html")
#k1[6] is what you are looking for:
>k1[6]
[1] "../../systemfit/html/systemfit.html"
k2<-htmlParse(sub("../..", "http://artax.karlin.mff.cuni.cz/r-help/library",k1[6]))