javascript - 从 Booking.com 搜索结果页面检索酒店价格

标签 javascript google-apps-script web-scraping http-post

我试图从我的 Google Apps 脚本中检索 Booking.com 搜索结果页面的酒店价格,如下面的代码,但不知何故,它似​​乎只返回 Booking.com 的首页。

  var formData = {
    'ss':'Kyoto',
    'checkin_year':'2018',
    'checkin_month':'10',
    'checkin_monthday':'1',
    'checkout_year':'2018',
    'checkout_month':'10',
    'checkout_monthday':'2',
    'no_rooms':'1',
    'group_adults':'1'
  }

  var options = {
    'method' : 'post',
    'payload' : formData
  }

  var response = UrlFetchApp.fetch('http://booking.com/searchresults.ja.html', options);
  var html = response.getContentText('UTF-8');
  Logger.log(html);

当我使用如下地址打开浏览器时,就可以了。我想从网络上抓取这个结果。

https://www.booking.com/searchresults.ja.html?ss=kyoto&checkin_year=2018&checkin_month=10&checkin_monthday=1&checkout_year=2018&checkout_month=10&checkout_monthday=2&no_rooms=1&group_adults=1&group_children=0

有人可以帮助我前进吗?任何评论将不胜感激!

最佳答案

使用 POST 是错误的,因为 POST 会将您的选项附加到邮件正文而不是 URL。使用 GET 会将您的选项作为查询字符串 ?foo=bar 附加到 URL。

因此,请尝试将 options 中的 method 更改为 get,以便将选项附加到 URL:

var options = {
    'method' : 'get',
    'payload' : formData
}

关于javascript - 从 Booking.com 搜索结果页面检索酒店价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51917374/

相关文章:

javascript - 如何将 D3.js 与带有 Angular 2 的渲染器 API 集成

asp.net - 从 asp.net 页面启动 javascript

javascript - 使用 javascript 或 php 在所有子域的链接中将 Https 更改为 Http

javascript - 类型错误:无法从未定义中读取属性 "0"

html - 如何从 Google Apps 脚本中的网页获取元素?

python - 如何使用 Python 获取 Accordion block 中隐藏的 div 的内容?

python - Docker Selenium Chromedriver : Unfortunately, 自动访问此页面被拒绝

javascript - 客户端通过 JS 请求 JSON 并填充 Rails View

google-apps-script - UiApp加载后调用函数(相当于Javascript onLoad)

python - 无法点击隐形选择python