小编Tom*_*mas的帖子

更快的 Rselenium 替代品

我正在为此页面创建一个刮板:https : //www.oddsportal.com. 由于页面使用 javascript 渲染,我决定使用 Rselenium。我的目标是为今年的每场比赛争取赔率。我在页面上使用登录表单,因为我设置了自己的博彩公司来显示这些比赛。我已经为这些匹配抓取了 50 000 个 URL,现在我使用 Rselenium 打开每个 URL 并抓取特定数据。我想知道这个问题是否有更好的解决方案,因为我的脚本主要针对 remDr$navigate(url) 部分花费的时间太长。我还尝试了更快的 splashr 包,但我无法登录并查看我需要的博彩公司。也尝试了 webdriver 包,但无法设置我需要的用户代理,以免出现 404 错误。我使用 findElements 但也许如果我在导航到 URL 后呈现页面并使用 html_nodes 抓取它可以节省一些时间。我也尝试禁用 css,但在 R 中找不到任何适用于 phantomjs 或无头 chromedriver 的可行解决方案。感谢您提前回复。到目前为止,这是我用于测试 20 个 URL 的脚本:

pjs <- wdman::phantomjs()

eCap <- list(phantomjs.page.settings.userAgent 
             = "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:29.0) Gecko/20120101 Firefox/29.0", phantomjs.page.settings.loadImages = FALSE, phantomjs.phantom.cookiesEnabled = FALSE, phantomjs.phantom.javascriptEnabled = TRUE)

remDr <- remoteDriver(browserName = "phantomjs", port = 4567L, extraCapabilities = eCap)
remDr$open()

#login to …
Run Code Online (Sandbox Code Playgroud)

r web-scraping phantomjs rselenium

5
推荐指数
0
解决办法
681
查看次数

标签 统计

phantomjs ×1

r ×1

rselenium ×1

web-scraping ×1