28Hse 香港屋網爬蟲|樓盤放盤、業主自讓、樓盤詳情一鍵匯出(免 API) avatar

28Hse 香港屋網爬蟲|樓盤放盤、業主自讓、樓盤詳情一鍵匯出(免 API)

Pricing

from $2.00 / 1,000 搜尋樓盤

Go to Apify Store
28Hse 香港屋網爬蟲|樓盤放盤、業主自讓、樓盤詳情一鍵匯出(免 API)

28Hse 香港屋網爬蟲|樓盤放盤、業主自讓、樓盤詳情一鍵匯出(免 API)

免登入抓 28Hse 香港屋網:買賣與租務放盤列表、完整樓盤詳情,含售價、租金、實用面積、呎價、間隔、地區、屋苑與刊登日期,並標記業主自讓(自讓盤)/代理盤,輸出 JSON/CSV/Excel。獨有業主放盤叫價資料,香港房產估價與 proptech 市調必備。

Pricing

from $2.00 / 1,000 搜尋樓盤

Rating

0.0

(0)

Developer

Chad

Chad

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

29 minutes ago

Last modified

Share

28Hse 香港屋網爬蟲|樓盤放盤、業主自讓一鍵匯出(免 API)

抓 28Hse.com(香港屋網):樓盤放盤列表、單一放盤全欄位詳情,走公開 HTML 端點(SSR + JSON-LD),不用登入、不用 token。輸出結構化資料,業主自讓(FSBO)判定是本 Actor 的核心賣點——代理行網站沒有的資料面,適合估價模型/proptech/代理研究部門補齊 asking-price 資料。

與同作者的 centaline-scraper(中原地產成交資料)互補:centaline 走成交,本 Actor 主打放盤詳情與業主盤過濾。

輸出欄位

放盤列表(listing 模式)

欄位名稱型別說明
property_idstring放盤 ID
titlestring | null標題
deal_typestring | nullbuy(買賣)或 rent(出租)
property_typestring | null物業類型,例如 apartment
pricenumber | null價格(港元)。原始文字「售 $830 萬元」已換算成 8300000
saleable_areanumber | null實用面積(呎)
gross_areanumber | null建築面積(呎)。列表卡片本身不顯示建築面積,此欄位在 listing 模式恆為 null,只有 detail 模式才有值
unit_pricenumber | null實用呎價(港元)
districtstring | null地區,例如「荃灣」
estatestring | null屋苑名稱
roomsnumber | null房數。開放式間隔(無獨立房間)誠實回 null,不猜測
bathroomsnumber | null浴室數
is_ownerboolean業主自讓(FSBO)判定。頁面標示「業主盤」/「業主自讓」= true;「代理盤」或無標示 = false
agent_namestring | null代理行名稱;業主自讓盤則為頁面顯示的業主聯絡名稱
posted_atstring | null刊登時間(ISO 8601)。原始為相對時間(「36 秒前」「N 天前」),已換算成絕對時間
listing_urlstring | null放盤完整連結
source_modestring固定 listing
scraped_atstring抓取時間(ISO 8601)

放盤詳情(detail 模式,上面全部欄位 + 以下)

欄位名稱型別說明
addressstring | null完整地址
floor_size_sqftnumber | null實用面積(呎),來源與 saleable_area 相同
num_roomsnumber | null放盤頁 JSON-LD 原始房間數欄位。注意:這是網站自己 JSON-LD 提供的原始值,實測與頁面顯示的「N 房」(即上面的 rooms 欄位)不一定一致(見下方注意事項),兩個欄位都保留、各自誠實回報來源
descriptionstring | null放盤/屋苑描述全文
agent_addressstring | null代理行(或業主聯絡)地址
agent_urlstring | null代理行(或業主)頁面連結
date_publishedstring | null刊登時間(ISO 8601,含時區)
date_modifiedstring | null最後更新時間(ISO 8601,含時區)
image_countnumber | null放盤圖片總數(含樓層/單位平面圖)

模式說明

模式輸入輸出計費狀態
📋 listingdealType + propertyType(或 listingUrls)放盤列表search-listing $0.002/筆v1.0
🏠 detailpropertyIds 或 propertyUrls單一放盤全欄位product-detail $0.008/筆v1.0
📈 transactionsestateUrls(屋苑成交紀錄)成交紀錄review-item $0.003/筆v1.1 尚未開放,選這個模式會直接報錯

所有計費都在資料成功寫入 dataset 之後才會收,Run 結束時 log 會印出 total_items / charged / skipped 讓你對帳。

輸入欄位

欄位型別預設說明
modeenumlistinglisting / detail / transactions(尚未開放,見上表)(必填)
dealTypeenumbuybuy(買賣)或 rent(出租)。listing 模式用;detail 模式用 propertyIds(而非 propertyUrls)時也要填
propertyTypeenumapartment物業類型。只有「住宅」(apartment)經完整測試,其餘類型網址格式比照套用,未逐一驗證
listingUrlsarraylisting 模式選填,直接指定列表網址(覆蓋 dealType/propertyType),可填多個,各自獨立翻頁計數
propertyIdsarraydetail 模式用,放盤 ID(純數字),須搭配 dealType/propertyType 組網址
propertyUrlsarraydetail 模式用,放盤完整網址,自帶買賣/類型資訊最保險
bulkInputtextarea批量貼上,一行一個,依目前模式自動併入對應欄位
ownerOnlybooleanfalse只適用 listing 模式:只保留業主自讓盤,過濾代理盤。業主盤在單一分類中通常較稀少,連續 5 頁沒有符合的放盤會提早停止(見下方注意事項)
maxItemsinteger50listing 模式:每個列表來源最多抓幾筆;detail 模式:最多抓幾個放盤。上限 500
dateFromstringlisting 模式適用,依放盤刊登時間篩選。格式 3d12h2w(相對時間)或 MM/DD/YY(絕對日期)。有設定時會提早停止翻頁,排程監控更省成本。detail 模式不適用
proxyConfigurationproxyApify datacenter proxy預設開啟;不用 proxy 會與其他 run 共用出口 IP 而被限流。自備 proxy 或本機測試才關

輸入範例

1. 放盤列表:買盤住宅

{
"mode": "listing",
"dealType": "buy",
"propertyType": "apartment",
"maxItems": 50
}

2. 放盤詳情:單一放盤

{
"mode": "detail",
"propertyUrls": ["https://www.28hse.com/buy/apartment/property-3948689"]
}

3. 只要業主自讓盤(FSBO),限定出租

{
"mode": "listing",
"dealType": "rent",
"propertyType": "apartment",
"ownerOnly": true,
"maxItems": 100
}

4. 批量抓多個放盤 ID

{
"mode": "detail",
"dealType": "buy",
"propertyType": "apartment",
"bulkInput": "3948689\n3924956\n3990751"
}

5. 排程監控:只抓 3 天內新刊登的放盤

{
"mode": "listing",
"dealType": "buy",
"propertyType": "apartment",
"dateFrom": "3d",
"maxItems": 200
}

注意事項

  • 只抓公開內容,不需要帳號或 token,走公開 HTML 端點(SSR + JSON-LD),不開瀏覽器,速度快、成本低
  • 價格解析:原始文字「售 $830 萬元」的「萬」已自動換算成數字(× 10,000 = 8,300,000);出租價格通常無「萬」單位,直接取數字
  • 業主自讓(is_owner)判定:只認頁面明確標示「業主盤」/「業主自讓」為 true;標題若只是提到「業主」兩個字(例如「相熟業主,價錢可議」)不會誤判——這種情況仍是代理行放的盤,is_owner 正確回 false
  • ownerOnly 的成本保護機制:業主自讓盤在單一分類(例如「買樓·住宅」)通常比代理盤稀少很多。為了不讓爬蟲在完全沒有業主盤的分類裡無止盡翻頁燒錢,本 Actor 遵循「連續 5 個請求拿不到符合資料即停止」的鐵律——啟用 ownerOnly 時,若連續 5 頁都沒有業主自讓盤,會直接停止,即使該分類理論上還有更多(純代理)放盤沒抓完。若業主盤剛好分佈在較後面的頁數,可能因此漏抓;建議搭配較窄的篩選條件(dealType/propertyType 分開跑)增加業主盤密度
  • roomsnum_rooms 為什麼是兩個欄位rooms(listing 模式與 detail 模式共用的欄位)來自頁面顯示的「N 房」文字(可靠、與頁面畫面一致);num_rooms(只有 detail 模式才有)是網站自己 JSON-LD 結構化資料裡的原始房間數欄位。實測同一個放盤這兩者可能不一致(例如某放盤頁面顯示「3 房」,但其 JSON-LD 的 numberOfRooms 卻是 1)——這是 28Hse 網站自己資料源的落差,不是本 Actor 的解析錯誤。兩個欄位都誠實保留各自來源的值,不互相覆蓋
  • 開放式間隔(無獨立房間隔間)的放盤,rooms 會誠實回 null,不會猜測成 0 或 1
  • gross_area(建築面積)只有 detail 模式才有值——放盤列表卡片本身只顯示實用面積,不顯示建築面積
  • 連續 5 頁無新資料自動停止翻頁,不空轉燒費用;設了 dateFrom 的話,整頁放盤都比 dateFrom 舊就會直接停止翻頁(更省成本,僅 listing 模式適用)
  • 屋苑成交紀錄(transactions 模式)尚未開放,規劃於 v1.1。目前選這個模式會直接回傳錯誤訊息,不會消耗任何費用
  • 28Hse 目前對本 Actor 使用的 datacenter proxy 無反爬蟲挑戰(無 CAPTCHA/JS challenge);若未來網站加強防護,備援方案是切換 residential proxy,不預先過度設計

常見問題(FAQ)

Q: 為什麼有些放盤的 districtestateprice 是 null?

A: 極少數放盤卡片版型不完整(例如車位、非住宅類放盤,或該放盤本身缺資料),本 Actor 誠實回 null,不會用猜測值頂替。

Q: ownerOnly 開啟後抓不到任何業主盤,正常嗎?

A: 正常。業主自讓盤本來就比代理盤稀少,若連續 5 頁都沒有符合的放盤會提早停止(見上方注意事項),這是刻意的成本保護機制,不是 bug。可以試試換一個 dealType/propertyType 組合,或直接用 listing_url 去 28Hse 網站上手動確認該分類目前有沒有業主盤在架。

Q: propertyIdspropertyUrls 有什麼不同?

A: propertyUrls(完整網址)自帶買賣類型與物業類型資訊,最保險;propertyIds(純數字 ID)需要額外填 dealTypepropertyType 才能組出正確網址,兩者混用也可以。

Q: 為什麼 listing 模式的 gross_area(建築面積)都是 null?

A: 28Hse 的放盤列表卡片本身只顯示實用面積,不顯示建築面積;建築面積只在放盤詳情頁才有,所以只有 detail 模式的輸出才會有值。若需要建築面積,用 detail 模式抓對應放盤即可。

Q: 什麼時候會有屋苑成交紀錄(土地註冊處資料)?

A: 規劃在 v1.1。28Hse 的成交紀錄走 AJAX 端點,目前尚未確認完整的請求參數組合,會在確認後補上,屆時 mode 直接多一個可用選項,不需要改用其他 Actor。

免責聲明

本工具僅供學術研究及合法商業分析用途。使用者應遵守 28Hse 服務條款及相關法規。請勿以本工具進行任何侵害他人隱私、散布虛假資訊或其他違法行為。作者不對任何濫用行為承擔責任。


28Hse 爬蟲、香港樓盤、成交紀錄、業主自讓、香港房價、放盤資料


📚 延伸教學與工具

這隻 actor 背後的實戰教學與免費工具,都在 AI Social API

由實際經營 40+ 隻上架 actor 的人維護。