我试图通过此 url 在R中生成最便宜的价格输出(也可在下面的代码中找到):
虽然我们可以通过点击“价格”来分类最便宜和最高价格。 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)
答案 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