iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0
Software Development

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

[Day 16]收入囊中,為己所用 #2

  • 分享至 

  • xImage
  •  

有了飯店、距離和價錢,再來可以看看房型床位

輸出

  • 房型

  • 床位(多人出遊時必需得知道對吧)

繼續套用昨天使用的hotels的區塊,這是我整理出來的class

https://ithelp.ithome.com.tw/upload/images/20240918/201615050gvZyWFO6P.png https://ithelp.ithome.com.tw/upload/images/20240918/20161505PCUDHivUga.png

可以看到每一個房型div裡面的class是一樣的,所以使用find_all()一旦搜尋結果含有兩種房型時,就必須使用迴圈來解決

rooms = hotels[i].find_all(attrs={"class" : "d22a7c133b"}) #房間區塊
    for rm in rooms:
        rooms_type = rm.find_all(attrs={"class" : "df597226dd"}) #房型區塊
        for rmtp in rooms_type:
            rooms_bedtype = rm.find_all(attrs={"class" : "cb5b4b68a4"}) #床型區塊
            print(rmtp.text) #房型
            for bdtp in rooms_bedtype:
                    print(bdtp.text)  #床型

https://ithelp.ithome.com.tw/upload/images/20240918/20161505A5UfLtJmRO.png

看看這張圖,如果說一個房間出現了兩種床型以下情況

https://ithelp.ithome.com.tw/upload/images/20240918/20161505LyCPRTq6JY.png

黏再一起不好看,可以將

for bdtp in rooms_bedtype:
        print(bdtp.text)  #床型

改寫成

for bdtp in rooms_bedtype:
    for bd in bdtp:
        print('  '+bd.text)  #床型

https://ithelp.ithome.com.tw/upload/images/20240918/20161505VoTTggtxT2.png

再來明天就可以透過跳轉網頁再去抓取google評價和網站連結


上一篇
[Day 15]收入囊中,為己所用 #1
下一篇
[Day 17]收入囊中,為己所用 #3
系列文
30天來打造一個方便的訂房機器人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言