gpt4 book ai didi

r - 下载 mp3 文件

转载 作者:数据小太阳 更新时间:2023-10-29 02:11:53 24 4
gpt4 key购买 nike

我想使用 R 中的网站。该网站是 http://soundoftext.com/我在哪里可以下载 WAV。包含来自给定文本和语言(语音)的音频的文件。

下载WAV格式的语音分两步:1) 插入文本并选择语言。并提交2) 在新窗口中,单击保存并选择文件夹。

到目前为止,我可以获取 xml 树,将其转换为列表并修改文本和语言的值。但是,我不知道如何将列表转换为 XML(使用新值)并执行它。然后,我也需要做第二步。

到目前为止,这是我的代码:

require(RCurl)
require(XML)
webpage <- getURL("http://soundoftext.com/")
webpage <- readLines(tc <- textConnection(webpage)); close(tc)
pagetree <- htmlTreeParse(webpage, error=function(...){}, useInternalNodes = TRUE)
x<-xmlToList(pagetree)
# Inserting word
x$body$div$div$div$form$div$label$.attrs[[1]]<-"Raúl"
x$body$div$div$div$form$div$label$.attrs[[1]]

# Select language
x$body$div$div$div$form$div$select$option$.attrs<-"es"
x$body$div$div$div$form$div$select$option$.attrs

我已经关注this方法,但“标签”有错误。

更新:我刚刚尝试使用 rvest 下载音频文件,但是,它没有响应或触发任何内容。我做错了什么(遗漏)?

url <- "http://soundoftext.com/"
s <- html_session(url)
f0 <- html_form(s)
f1 <- set_values(f0[[1]], text="Raúl", lang="es")
attr(f1, "type") <- "Submit"
s[["fields"]][["submit"]] <- f1
attr(f1, "Class") <- "save"

test <- submit_form(s, f1)

最佳答案

我认为您的方法没有任何问题,值得一试。这也是我要写的内容。
该页面有点烦人,因为它使用 jquery 在每次请求时附加新的 div。我仍然认为这应该可以用 rvest 来做,但我发现了一个使用 httr 包的有趣解决方法:

library(httr)    

url <- "http://soundoftext.com/sounds"

fd <- list(
submit = "save",
text = "Banana",
lang="es"
)

resp<-POST(url, body=fd, encode="form")
id <- content(resp)$id

download.file(URLencode(paste0("http://soundoftext.com/sounds/", id)), destfile = 'test.mp3')

本质上,当它向服务器发送POST 请求时,返回一个ID,如果我们简单地GET id什么时候可以下载文件。

关于r - 下载 mp3 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42254143/

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