Categories: 生活經驗

BOOKING.com 滿房訂房攻略!

===2019年11月更新===
本攻略已經失效,同時建立了免費的線上搶房系統,直接在網頁進行操作,一有空房會用Line通知您。
意者請至 Yan搶房系統:https://booking.34e.cc/
====更新結束===
最近日幣狂貶,加上十月底要去大阪開研討會,所以有訂房需求。

無奈上booking.com發現大阪心齋橋附近的飯店在該時段都滿房了,唯一只剩下膠囊旅館。

在非常無奈的情況下,只好想想辦法………

首先我發現booking.com是用 GET 接受變數的!

比方說進入這個網址

「http://www.booking.com/hotel/jp/tennnouji-mayako.zh-tw.html?aid=304142;label=postbooking_confemail;sid=36032f5ac3a178d77cf6f1689cf6acc1;dcid=4;checkin=2014-11-01;checkout=2014-11-03;ucfs=1;srfid=f8c0cd59d859286b8b1a2dfb15f0dddb06898d1aX3;highlight_room=」

就會直接進入到Booking.com 裡面的「天王寺都酒店」並且時間和日期都選好了是「checkin=2014-11-01;checkout=2014-11-03」。

既然這麼單純,那就寫一個PHP使用curl抓取這個網頁,之後判斷讀取的內容是不是空房不就好了??

然後設定10秒一次就reload,一有空房就寄Email通知自己!

OK,有了上述的構想,開始來實做。

1.建立 reload.php (參考下圖) 用來擷取booking.com網頁用的。寄信部分使用phpmailer+gmail

2.建立booking.php (參考下方CODE) 用來重複呼叫reload.php用的

booking.php 參考CODE

<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″>
<script>
setInterval (function (){document.getElementById(“checkbooks_reload”).src=document.getElementById(“checkbooks_reload”).src},10000);
</script>
<iframe id=”checkbooks_reload” width=”500″ height=”500″ src=”reload.php”></iframe>

以上就完成了一個BOT!不過基於道德考量,程式只會通知你有房了,最後還是要靠自己手動上網做訂房的動作,才不會造成不必要的浪費!

最後經過我努力不懈的掛了兩週左右終於訂到房了!

yan

View Comments

Share
Published by
yan