问题标签 [rselenium]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2016 浏览

r - 不知道如何从这个网站上抓取数据(使用 R)

我正在尝试使用 R 从以下站点抓取数据:http: //www.soccer24.com/kosovo/superliga/results/#

我可以执行以下操作:

但我对如何真正获取数据感到困惑。这是因为网站上的实际数据似乎是由 Javascript 生成的。我能做的是

但这给出了一长串奇怪的文本(其中确实包括数据,但散布着奇怪的代码,而且我完全不清楚我将如何解析它。

我要提取的是所有比赛的比赛数据(日期、时间、球队、结果)。本网站不需要其他数据。

任何人都可以提供一些关于如何从该站点提取数据的提示吗?

0 投票
1 回答
168 浏览

r - 如何捕获由站点生成的文档(使用 R)

我正在尝试下载pdf文件如下:(由于这是一个商业网站,我不得不替换下面的url、用户名和密码)

这是一个包含公司互动数据的网站。了解了 api,我已经弄清楚了我感兴趣的每个报告的页面名称。页面上有一个“下载 pdf”按钮。当我单击此按钮时,该站点会动态生成 pdf 格式的报告并返回报告(具有随机名称,例如“97da08491e3e41447f591c2b668c0602.pdf”。我认为它为此使用 wkhtml2pdf。我使用以下代码单击该按钮:

当点击“下载pdf”按钮时,该文档由站点生成,然后由Chrome保存。(随机名称每次都不同,我无法使用类似的东西download.file()来获取它)这很好,除了文档是用这个随机名称保存的。相反,我想捕获网站返回的 pdf,然后使用更具信息性的名称保存它(我必须这样做数百次,所以我不想手动按顺序浏览所有 pdf查找有关特定公司的报告)。

所以,我的问题是:如何捕获由站点动态生成和返回的 pdf,然后以我自己选择的名称保存它?

(对于无法提供该网站的链接,我深表歉意,但这是一个我不允许公开分享的专有网站。但是,我希望这个问题可能对更多人和更多网站有用)。

0 投票
1 回答
1402 浏览

r - remDr$open() 将 RSelenium 与 phantomjs 一起使用时出现意外错误

我正在使用以下代码

我收到以下错误:

我不知道为什么我会收到错误消息?

我的sessionInfo()结果如下:

下面提供了我的java版本供您参考:

0 投票
1 回答
1604 浏览

r - 使用 PhantomJS 在 RSelenium 中设置代理

我在命令中使用RSelenium带有参数的库,但是我希望运行一个测试,在其中指定代理服务器的类型。我已经看到代理身份验证在例如Java中是可能的,使用的代码如下所示:browserName = "phantomjs"remoteDriver

以上可以在R中复制吗?

0 投票
1 回答
1355 浏览

r - R RSelenium and phantom in a loop

I have the following code I borrowed from a previous Stackoverflow discussion ( Extracting data from javascript with R). I'm bassically trying to webscrape some data for some pharmaceuticals. When I run the code for a single pharmaceutical code (2203) it works just fine!

But when I put it inside a loop, so that I can retrieve the information for all the pharmaceuticals I need... it breaks down. Below is the code inside the loop.

Any ideas on whats going on? I tried giving phantom time to do stuff, as I have heard that could be a problem but it didn't work. It doesnt work with a single code 2203 or with two c(2202,2203)

0 投票
1 回答
834 浏览

r - RSelenium 错误:NotConnectedException

在 SO (Question 1) , (Question 2)中已经提出了一些与此类似的问题,但没有一个问题得到答案(最后一个问题有 @jdharrison 的相关评论,指示 OP 提出问题)。这是我的问题:

我曾经有一个非常简单的脚本来从网站获取一些信息到 R 中:

当我现在尝试运行脚本时,rd$open()它确实打开了一个 firefox 窗口(保持空白约 30 秒),然后关闭并返回错误:

阅读 SO 和其他一些站点上的不同帖子,似乎问题是由 firefox 和 RSelenium 版本的不兼容引起的。

在 GitHub 的 selenium 论坛上,有一个帖子说将 selenium 从 2.44 更新到 2.45 解决了这个问题。但是,如果 RSelenium 似乎是最新的,我不知道如何更新 selenium:

我的构建(可能是罪魁祸首):

我该怎么做才能从 R 更新硒(当然,如果这有意义的话)?

更好的是:我怎样才能避免在我以前工作的脚本中显示的错误?

谢谢!

0 投票
1 回答
2488 浏览

r - 使用 R 从 TripAdvisor 抓取数据

我想创建一个爬虫,它会从 Trip Advisor 中抓取一些数据。理想情况下,它将 (a)识别到所有要抓取的位置的链接, (b)收集到每个位置的所有景点的链接,以及 (c)将收集所有评论的目的地名称、日期和评级。我现在想专注于(a)部分。

这是我开始的网站: http ://www.tripadvisor.co.nz/Tourism-g255104-New_Zealand-Vacations.html

这里有一个问题:该链接给出了前 10 个目的地,然后如果您单击“查看更多热门目的地”,它将展开列表。看起来好像它使用 javascript 函数来实现这一点。不幸的是,我不熟悉 javascript,但我认为以下部分可能会提供有关其工作原理的线索:

我为 R 找到了一些有用的网络抓取包,例如 rvest、RSelenium、XML、RCurl,但其中只有 RSelenium 似乎能够解决这个问题,话虽如此,我仍然无法使用它出去。

以下是一些相关代码:

最后一行应该在这里解决问题,但我不确定我需要在这里调用什么函数。

一旦我设法扩展此列表,我将能够以与解决部分 (b) 相同的方式获取每个目的地的链接,并且我认为我已经解决了这个问题(对于那些感兴趣的人):

至于步骤 (c),我发现了一些可能对此有所帮助的有用链接: https ://github.com/hadley/rvest/blob/master/demo/tripadvisor.R http://notesofdabbler.github。 io/201408_hotelReview/scrapeTripAdvisor.html

如果您对如何扩展热门目的地列表或如何以更智能的方式完成其他步骤有任何提示,请告诉我,我非常希望收到您的来信。

提前谢谢了!

0 投票
1 回答
2434 浏览

r - Rselenium - 弹出窗口

我想通过 Firefox 浏览器使用 RSelenium 从网站下载文件。我做的一切都正确(导航、选择正确的元素并写下我想要的);现在我单击“下载”按钮,然后会打开一个 firefox 弹出窗口并询问我是否要下载文件或“打开方式...”其他内容。

不幸的是,由于隐私限制,我无法编写示例。

我的问题是:如何切换到弹出窗口/警报并在需要时单击“确定”?

我尝试了以下方法均未成功:

我也试过方法

但即使弹出窗口打开,该命令也只返回一个窗口(开始窗口,而不是弹出窗口),因此我无法使用:

切换到弹出窗口。

有任何想法吗?谢谢

0 投票
2 回答
3368 浏览

r - 使用 R 抓取受密码保护的网站

我想使用 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:

对应结果:响应 [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 进行了尝试,但出现了一些错误

remDr <- remoteDriver$new()

remDr$open() [1] "连接到远程服务器" RCurl 调用中的未定义错误。queryRD(paste0(serverURL, "/session"), "POST", qdata = toJSON(serverOpts)) 中的错误:

phantom() 中的错误:找不到 PhantomJS 二进制文件。

0 投票
3 回答
3640 浏览

r - 如何使用 Rselenium 在网页中查找元素?