通过R最便宜的航班价格

时间:2017-06-15 17:13:46

标签: r

我试图通过此 url 在R中生成最便宜的价格输出(也可在下面的代码中找到):

Cheap Flights from MakeMyTrip

虽然我们可以通过点击“价格”来分类最便宜和最高价格。 url 链接上的按钮。

我有什么办法可以在R中输出最便宜的航班价格吗?

到目前为止,这是我的代码:

library(rvest)
library(purrr)
library(dplyr)
library(DBI)

url1 <-  
  'https://flights.makemytrip.com/makemytrip/search/O/O/E/1/0/0/S/V0/DEL_BOM_23-06-2017?contains=false&remove='

Var1 <- read_html(url1)

1 个答案:

答案 0 :(得分:1)

如果您检查页面上过滤器菜单的左下角,您会找到滑块“价格范围”。这里,最低价格具有唯一的css选择器“#min_price”。但是,由于JSONObject.metaClass.propertyMissing = { String name, newValue -> delegate.put(name, newValue) } JSONObject.metaClass.size = { -> delegate.length() } JSONObject.metaClass.each = { cl -> delegate.keys().collectEntries{ [(it): delegate[it] ]}.each(cl) } def json = new JSONObject() json['a'] = 999 json.b = 2.2 json['c'] = 'the letter C' println json['a'] // Prints 999 println json['b'] // Prints 2.2 println json.c // 'the letter C' println json.size() // Prints 3 //No signature of method: ... $__spock_feature_0_0_closure4.doCall() is applicable json.each{ k,v -> println "$k = $v"} 调用由于javascript没有读取整页,因此无法使用rvest进行抓取。

但是,您可以使用更复杂的方法通过RSelenium下载它。 注意:这种方法在第一次会很慢,因为RSelenium将安装所需的浏览器(花了我45分钟)。但是,未来的应用程序将立即执行。

read_html