iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
Software Development

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

[Day 15]收入囊中,為己所用 #1

  • 分享至 

  • xImage
  •  

今天可以慢慢將我們需要的資訊顯示出來了,那我們一步步慢慢來,今天做到的是抓取飯店的名稱及價格還有與我們目的地的距離三個項目

一個飯店都對應一個自己的所有資訊,那麼我們就得跳脫出只取名稱的部分,從抓取一個名稱變成抓取一個區塊,

輸出

  • 飯店名稱(最重要的)

  • 價格(等等訂到天價飯店那不GG了)

  • 與目的地的距離(那必須的)

那我們得先從每個飯店區塊下手,方法還是一樣,去網站上面查看該區塊的div有甚麼是可以擷取出來的

https://ithelp.ithome.com.tw/upload/images/20230927/20161505busEOOSgzx.png
這裡我選擇的是這塊class = b978843432的div,我可以透過這個區塊來find()我所需要的資訊

soup = BeautifulSoup(source, 'html.parser')
hotels = soup.find_all(attrs={"class" : "b978843432"})

然後再將其以迴圈的方式將每個飯店印出來

for i in range(5): #控制搜尋的數量
    title = hotels[i].find(attrs={"data-testid" : "title"}) #飯店名稱
    price = hotels[i].find(attrs={"data-testid" : "price-and-discounted-price"}) #距離
    distence = hotels[i].find(attrs={"data-testid" : "distance"}) #價格
    print(title.text) 
    print(distence.text, end=" ") 
    print(price.text+'\n') 

可以看到我們的執行結果

https://ithelp.ithome.com.tw/upload/images/20230927/20161505Gx24Uqw3XE.png
明天我們繼續完善我們的資訊唄


上一篇
[Day 14]輸入做得好,資料沒煩惱
下一篇
[Day 16]收入囊中,為己所用 #2
系列文
30天來打造一個方便的訂房機器人30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言