iT邦幫忙

2023 iThome 鐵人賽

DAY 14
0
Software Development

30天來打造一個方便的訂房機器人系列 第 14

[Day 14]輸入做得好,資料沒煩惱

  • 分享至 

  • xImage
  •  

今天先把我們最基本會使用的幾個參數做設定,至於怎麼找到參數代表的意義呢,很簡單啊,先到我們的booking隨便設定一下要去的地點和時間、人數
https://ithelp.ithome.com.tw/upload/images/20230927/20161505cCPevfp5zS.png

然後呢把網址複製下來

https://www.booking.com/searchresults.zh-tw.html?ss=%E6%B7%A1%E6%B0%B4&ssne=%E6%B7%A1%E6%B0%B4%E5%8D%80&ssne_untouched=%E6%B7%A1%E6%B0%B4%E5%8D%80&highlighted_hotels=4797035&label=New_Chinese_Traditional_ZH-XT_24509419345-liovB6A8r8chJeHBdsZVaAS634241442878%25253Apl%25253Ata%25253Ap1%25253Ap2%25253Aac%25253Aap%25253Aneg%25253Afi%25253Atiaud-297601666995%25253Adsa-64415617705%25253Alp9040380%25253Ali%25253Adec%25253Adm%25253Aag24509419345%25253Acmp377347585&sid=cb458ada9a7f1250d0b138cc0873ade5&aid=318615&lang=zh-tw&sb=1&src_elem=sb&src=searchresults&dest_id=900047913&dest_type=city&ac_position=0&ac_click_type=b&ac_langcode=xt&ac_suggestion_list_length=5&search_selected=true&search_pageview_id=245d5203cd7100fe&ac_meta=GhAyNDVkNTIwM2NkNzEwMGZlIAAoATICeHQ6Bua3oeawtEAASgBQAA%3D%3D&checkin=2023-10-10&checkout=2023-10-12&group_adults=4&no_rooms=1&group_children=0&order=price

可以看到這串長到不行的網址有點難看得出來,這邊幫你們刪減一下只留下必須的東西

https://www.booking.com/searchresults.zh-tw.html?ss=%E6%B7%A1%E6%B0%B4&group_adults=4&no_rooms=1&group_children=0&checkin=2023-10-10&checkout=2023-10-12&order=price

使用這串網址後依然可以找到和原本網址相同的飯店,稍微對應一下

輸入

  • 地址 = ss(%E6%B7%A1%E6%B0%B4其實指的是淡水,自己可以直接打中文就好)
  • 入住日期 = checkin
  • 退房日期 = checkout
  • 大人數量 = group_adults
  • 小孩數量 = group_children
  • 房間數 = no_room
  • 排序依據 =order

這邊整理一下能用的order

低價優先 : order = price
民宿&公寓 : order = upsort_bh
團體出遊首選 : order = popularity
最高評分與最低價 : order = review_score_and_price
住宿評等(高到低) : order = class
住宿評等(低到高) : order = class_asc
住宿評等與價格 : order = class_and_price
距市中心遠近 :order = distance_from_search
最佳評分和評語 : order = bayesian_review_score

然後這邊做個範例

ss = input("請輸入想去的地方: ")
checkin = input("請輸入入住日期(yyyy-mm-dd): ")
checkout = input("請輸入退房日期(yyyy-mm-dd): ")
adults = input("請輸入入住人數: ")
rooms = input("請輸入房間數: ")
children = input("請輸入兒童數: ")
order = input("請輸入排序方式: ")


url = f"https://www.booking.com/searchresults.zh-tw.html?ss={ss}&checkin={checkin}&checkout={checkout}&group_adults={adults}&no_rooms={rooms}&group_children={children}&order={order}"
driver = webdriver.Edge()
driver.get(url)
source = driver.page_source

將所有參數設定為變數後,可以讓我們的填寫更方便,以及之後當我們要使用bot的輸入可以用上

那麼明天就可以將那些獲取到的東西取出來供我們觀察


上一篇
[Day 13]只有飯店名稱還不夠,再來找找有用的東西
下一篇
[Day 15]收入囊中,為己所用 #1
系列文
30天來打造一個方便的訂房機器人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言