我正在尝试从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);
当我使用以下地址访问浏览器时,该方法有效。我想在网上抓取这个结果。
有人可以帮助我前进吗?任何意见,将不胜感激!
答案 0 :(得分:2)
使用POST
是错误的,因为POST
会将您的选项附加到邮件正文而不是URL。使用GET
会将您的选项作为查询字符串?foo=bar
附加到URL。
因此,请尝试将method
中的options
更改为get
,以便将选项附加到URL:
var options = {
'method' : 'get',
'payload' : formData
}
答案 1 :(得分:-3)
您必须将响应转换为json格式
let url = 'https://example.com';
fetch(url)
.then(res => res.json())
.then((out) => {
console.log('Checkout this JSON! ', out);
})
.catch(err => { throw err });