gpt4 book ai didi

r - 如何在 R 中解析和构建具有多个值参数的 URL 查询字符串

转载 作者:行者123 更新时间:2023-12-05 01:22:16 29 4
gpt4 key购买 nike

在 R 中是否有一种直接解析和构建具有多个值参数的 URL 查询字符串的方法?

我希望是这样的

myqueryString <- parse_url("http://www.mysite.com/?a=1&a=2&b=val")$query
myqueryString
$a
[1] 1 2
$b
[1] "val"

urlElements <- list(scheme="http",path="www.mysite.com/",query=list(a=c(1,2),b="val"))
setattr(urlElements,"class","url")
build_url(urlElements)
[1] "http://www.mysite.com/?a=1&a=2&b=val"

但是 httr 给出了

parse_url("http://www.mysite.com/?a=1&a=2&b=val")$query
$a
[1] "1"

$a
[1] "2"

$b
[1] "val"

builtURL <- build_url(urlElements)
builtURL
[1] "http:///www.mysite.com/?a=c%281%2C%202%29&b=val"

可以重新处理这个最新的 URL

parse_url(builtURL)$query
$a
[1] "c(1, 2)"

$b
[1] "val"

我知道我可以使用 parse() + eval() 来获取 a 但是 eval 代码看起来相当不安全可以自由转储到 URL。有什么建议么?

最佳答案

看看这些是否可以在这两种参数列表格式之间进行转换:

mergeUrlArgs <- function(x) sapply(unique(names(x)), function(z) unlist(x[names(x) == z], use.names=FALSE), simplify=FALSE)

expandUrlArgs <- function(x) structure(do.call(c, lapply(x, function(z) as.list(z))), names=rep(names(x), sapply(x, length)))

关于r - 如何在 R 中解析和构建具有多个值参数的 URL 查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22346127/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com