我想使用 R 网络抓取 yammer 数据,但为了这样做,首先我必须登录到这个页面,(这是我创建的应用程序的身份验证)。
https://www.yammer.com/dialog/authenticate?client_id=iVGCK1tOhbZGS7zC8dPjg
一旦我登录到此页面,我就可以获取 yammer 数据,但所有这些都通过标准 yammer url ( https://www.yammer.com/api/v1/messages/received.json )在浏览器中
我已经阅读了类似的问题并尝试了这些建议,但仍然无法解决这个问题。
我尝试过使用 httr、RSelenium、rvest+Selector 小工具。
这里的最终目标是在 R 中做所有事情(获取数据、清理、情感分析......清理和情感分析部分已经完成,但目前获取数据部分是手动的,我想通过从 R 处理它来自动化它)
1.试用httr:
usinghttr<- GET("https://www.yammer.com/dialog/authenticate?client_id=iVGCK1tOhbZGS7zC8dPjg",
authenticate("Username", "Password"))
对应结果:响应 [https://www.yammer.com/dialog/authenticate?client_id=iVGCK1tOhbZGS7zC8dPjg] 日期:2015-04-27 12:25 状态:200 内容类型:text/html;charset=utf-8 Size: 15.7 kB 该页面内容显示已打开登录页面但未验证。
2.试用选择器小工具+rvest
我尝试使用此方法抓取维基百科,但无法将其应用于 yammer,因为在调用 selctor 小工具提供的 html 标记之前需要进行身份验证。
3.试用RSelenium
使用标准浏览器和 phantomjs 进行了尝试,但出现了一些错误
> startServer()
remDr <- remoteDriver$new()
remDr$open() [1] "连接到远程服务器" RCurl 调用中的未定义错误。queryRD(paste0(serverURL, "/session"), "POST", qdata = toJSON(serverOpts)) 中的错误:
> pJS <- phantom()
phantom() 中的错误:找不到 PhantomJS 二进制文件。