mashape 情感和 R 集成

mashape sentiment and R integration

这是一个 mashpe 情感分析 curl 代码返回 json。如何与 R 集成?

curl -X POST --include 'https://community-sentiment.p.mashape.com/text/' \ -H 'X-Mashape-Key: pVke3AAqHzmsh4xNdsKrPshYHQC1p1H78y0jsn2uwaEPcU1TnF' \ -H 'Content-Type: application/x-www-form-urlencoded' \ -H 'Accept: application/json' \ -d 'txt=Today is a good day'

编辑:另外,如何在变量中添加 -d 'txt=Today is a good day' 部分?说 text<-'Today is a good day' 并在 r 语法中使用可变文本。抱歉,如果它非常基础,我是 R 的新手。 – user3548327 刚刚编辑

只是 运行 它,并使用 JSON 包之一解析它:

R> res <- system("curl -s ....rest of your query as above...", intern=TRUE)
R> jsonlite::fromJSON(res[-(1:9)])
$result
$result$confidence
[1] "96.7434"

$result$sentiment
[1] "Positive"


R> 

我添加了一个 -s 来保持 curl 安静,不知何故需要忽略不是 JSON...

的前 9 行

编辑: 由于 OP 似乎无法在没有明确示例的情况下使其工作,这里是另一个复制和粘贴:

R> res <- system("curl -s -X POST --include \
    'https://community-sentiment.p.mashape.com/text/' -H \
    -X-Mashape-Key: \
    pVke3AAqHzmsh4xNdsKrPshYHQC1p1H78y0jsn2uwaEPcU1TnF' \ 
    -H 'Content-Type: application/x-www-form-urlencoded' \
    -H 'Accept: application/json'  -d 'txt=Today is a good day'", \
    intern=TRUE)
R> jsonlite::fromJSON(res[-(1:9)])
$result
$result$confidence
[1] "96.7434"

$result$sentiment
[1] "Positive"


R> 

你需要把上面的\去掉,全部排成一行。

即使在删除 \(顺便说一句,我很久以前就这样做了!)并确保所有语法完好无损之后,在我的 R 环境中,对于上述代码,我仍然收到代码 6 的错误或最终出现 500 错误.作为最后的手段,放弃了 system(curl..) 语法并使用了 postForm("http://sentiment.vivekn.com/api/text/",txt = "mysentence")。为我工作!感谢大家的帮助。