ViralHeat API在RCurl包中遇到getURL()命令

时间:2014-06-25 21:14:32

标签: r api geturl

我试图找到"我不是在开玩笑的情绪" (例如)使用R编程的病毒Heat API。我在RCurl包中使用了getURL,如下所示:

getURL(" https://www.viralheat.com/api/sentiment/review.json?text=i%20am%20happy&api_key=",ssl.verifypeer = FALSE)

这在Google Chrome中运行良好。但在IE中它被重定向到" https://www.viralheat.com/browsers"因为ViralHeat API无法使用IE Ver< 9。

我将R_BROWSER env选项更改为Google Chrome(这是我的默认浏览器)。但是getURL仍然使用IE,因为执行上面的getURL命令仍然会重定向到浏览器页面。我将IE版本升级到11.但看起来像virusheatAPI根本不能在IE上工作,因为它仍然被重定向到浏览器页面。

有人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

RCurl提出的请求不使用您的浏览器。他们应该使用RCurl自己的库来发出HTTP请求。

网站最有可能检查请求的useragent字符串,看它是否是有效的浏览器。 RCurl似乎没有像浏览器那样默认指定一个useragent字符串。如果您要模仿Chrome,请转到http://www.whatsmyuseragent.com/以查看您当前的useragent字符串是什么。将该值复制到R中的变量,然后运行

ua <- "<your full user agent here>"
getURL("https://www.viralheat.com/api/sentiment/review.json?text=i%20am%20happy&api_key=", 
    ssl.verifypeer=FALSE, .opts=list(useragent=ua))

这应该避免浏览器嗅探步骤,至少让你进入API。