Nếu bạn tìm "zillow scraper github" ngay lúc này, bạn sẽ thấy . Nghe thì rất hứa hẹn — cho đến khi nhận ra rằng đã hơn một năm không được cập nhật.
Tôi đã dành rất nhiều thời gian để soi từng repo này, thử chúng trên các trang Zillow đang hoạt động, và đọc issue trên GitHub cùng những thread trên Reddit nơi dev than phiền rằng lần này nó lại hỏng ở đâu. Mô típ khá nhất quán: một repo bùng nổ lượt sao khi mới chạy được, rồi âm thầm chết khi Zillow đổi DOM, siết lớp chống bot, hoặc ngừng hỗ trợ một endpoint API nội bộ. Một dev bức xúc trên Reddit đã tóm gọn rất chính xác: “các dự án scraping cần được bảo trì liên tục do thay đổi trên trang hoặc api.” Bài viết này là bản kiểm tra mà tôi ước mình đã có trước khi clone repo Zillow scraper đầu tiên — một cái nhìn trung thực, cập nhật về thứ gì thực sự còn chạy trong 2026, thứ gì hỏng và vì sao, và khi nào thì tốt hơn hết là bỏ qua hẳn hố thỏ GitHub để dùng một công cụ như thay vào đó.
Dự án Zillow Scraper GitHub là gì (và ai cần nó)?
“zillow scraper” là bất kỳ script hay công cụ nào tự động thu thập dữ liệu bất động sản từ website Zillow — như giá, địa chỉ, số phòng ngủ, phòng tắm, diện tích, Zestimate, trạng thái tin đăng, số ngày trên thị trường, và đôi khi là dữ liệu sâu hơn ở trang chi tiết như lịch sử giá hoặc hồ sơ thuế. Mọi người tìm trên GitHub cụ thể vì họ muốn thứ gì đó miễn phí, mã nguồn mở và có thể tùy biến. Fork một repo, chỉnh lại trường dữ liệu, đẩy output vào pipeline của riêng mình. Về lý thuyết, đó là cách dung hòa được cả hai phía.
Nhóm người dùng khá khác nhau:
- Nhà đầu tư bất động sản theo dõi cơ hội trên nhiều mã ZIP — họ muốn dữ liệu giảm giá, chênh lệch Zestimate và số ngày trên thị trường để lọc cơ hội
- Môi giới xây danh sách khách tiềm năng — họ cần URL tin đăng, thông tin liên hệ của agent và thay đổi trạng thái tin đăng
- Nhà nghiên cứu thị trường và nhà phân tích lấy comps có cấu trúc — địa chỉ, giá trên mỗi foot vuông, giá bán so với giá chào, số lượng hàng tồn
- Đội vận hành theo dõi giá hoặc tồn kho ở nhiều thị trường theo định kỳ
Điểm chung là: ai cũng muốn dữ liệu có cấu trúc, lặp lại được — không phải công việc copy-paste một lần. Đó là lý do scraping hấp dẫn. Và cũng là lý do gánh nặng bảo trì trở nên đau đầu khi một repo ngừng hoạt động.
Bản kiểm tra repo Zillow Scraper GitHub 2026: Thứ gì thực sự còn chạy
Tôi tìm trên GitHub các repo Zillow scraper có nhiều sao và nhiều fork nhất, kiểm tra ngày commit gần nhất, đọc các issue đang mở và thử chúng trên các trang Zillow đang hoạt động. Phương pháp rất đơn giản: nếu một repo có thể trả về dữ liệu tin đăng chính xác từ trang kết quả tìm kiếm hoặc trang chi tiết của Zillow tính đến tháng 4/2026, nó được gắn nhãn “working”. Nếu nó chạy nhưng trả dữ liệu thiếu hoặc bị chặn sau vài trang, nó là “partially working”. Nếu nó lỗi hoàn toàn hoặc maintainer nói nó đã chết, nó là “broken”.
Thực tế phũ phàng: phần lớn các repo từng trông rất hứa hẹn 12–18 tháng trước đã âm thầm hỏng.
Bảng so sánh chọn lọc: Top repo Zillow Scraper GitHub

| Repo | Ngôn ngữ | Stars | Lần đẩy cuối | Cách tiếp cận | Trạng thái 2026 | Hạn chế chính |
|---|---|---|---|---|---|---|
| johnbalvin/pyzill | Python | 96 | 2025-08-28 | Trích xuất kết quả tìm kiếm/chi tiết Zillow + hỗ trợ proxy | Chạy một phần | README nói “Use rotating residential proxies.” Vấn đề gồm Cloudflare chặn, 403 qua proxyrack, CAPTCHA ngay cả khi có proxy. |
| johnbalvin/gozillow | Go | 10 | 2025-02-23 | Thư viện Go cho URL/ID bất động sản và phương thức tìm kiếm | Chạy một phần | Cùng maintainer với pyzill, nhưng mức độ sử dụng thấp và ít issue. Độ tin cậy thấp hơn. |
| cermak-petr/actor-zillow-api-scraper | JavaScript | 59 | 2022-05-04 | Actor được host dùng đệ quy API nội bộ của Zillow | Chạy một phần (rủi ro) | Thiết kế thông minh — chia nhỏ ranh giới bản đồ theo đệ quy để vượt giới hạn kết quả. Nhưng repo GitHub không được đẩy từ 2022. Một issue có tiêu đề: “is this still working?” |
| ChrisMuir/Zillow | Python | 170 | 2019-06-09 | Selenium | Hỏng | README nói rõ: “As of 2019, this code no longer works for most users.” Zillow phát hiện web driver, liên tục trả CAPTCHA. |
| scrapehero/zillow_real_estate | Python | 152 | 2018-02-26 | requests + lxml | Hỏng | Issue gồm “returns empty dataset,” “No output in .csv file,” và “Is this repo still updated?” |
| faithfulalabi/Zillow_Scraper | Python/notebook | 30 | 2021-07-02 | Selenium viết cứng | Hỏng | Dự án học tập được hardcode cho căn hộ thuê ở Arlington, TX. Không phải scraper đa dụng. |
| eswan18/zillow_scraper | Python | 10 | 2021-04-10 | Scraper + pipeline xử lý | Hỏng | Repo đã được lưu trữ (archived). |
| Thunderbit | Không cần code (tiện ích Chrome) | N/A | Được cập nhật liên tục | AI đọc cấu trúc trang + mẫu Zillow dựng sẵn | Đang chạy | Không có repo GitHub để phải bảo trì. AI tự thích ứng khi Zillow đổi bố cục. Có gói miễn phí. |
Mô típ rất rõ: hệ sinh thái GitHub vẫn có code sống, nhưng phần lớn repo dễ thấy chỉ là tutorial, di vật lịch sử, hoặc lớp vỏ mỏng cho một workflow phụ thuộc proxy.
“Đang chạy” vs. “Hỏng” vs. “Chạy một phần” nghĩa là gì
Tôi muốn định nghĩa rõ các nhãn này vì chúng quan trọng hơn số sao:
- Đang chạy: trả về thành công dữ liệu tin đăng chính xác từ trang tìm kiếm và/hoặc trang chi tiết của Zillow tại thời điểm kiểm tra, mà maintainer không gắn cờ dự án là đã chết
- Chạy một phần: chạy nhưng trả dữ liệu thiếu, bị chặn sau vài trang, hoặc chỉ hoạt động ở một số loại trang — thường cần hạ tầng proxy và tinh chỉnh liên tục
- Hỏng: không trả được dữ liệu, ném lỗi, hoặc đã bị maintainer hay cộng đồng xác nhận là không còn hoạt động
Một repo có 170 sao nhưng trạng thái “hỏng” còn tệ hơn repo chỉ có 10 sao nhưng thực sự trả được dữ liệu. Độ phổ biến chỉ là bối cảnh lịch sử, không phải tín hiệu chất lượng.
Vì sao các dự án Zillow Scraper GitHub bị hỏng (5 kiểu lỗi phổ biến)
Hiểu vì sao Zillow scraper hỏng sẽ tiết kiệm thời gian hơn bất kỳ README nào. Nếu hiểu vì sao chúng hỏng, bạn có thể xây một scraper bền hơn hoặc quyết định rằng cái “thuế bảo trì” này không đáng.
1. DOM bị tái cấu trúc (frontend React của Zillow)
Frontend của Zillow được xây bằng React và thay đổi thường xuyên. Tên class, cấu trúc component và data attribute đổi mà không báo trước. Một scraper nhắm vào div.list-card-price hôm nay có thể thấy class đó biến mất vào ngày mai. Như một đã nói, “tên class thay đổi từ trang này sang trang khác” trên Zillow.
Kết quả: script vẫn chạy, nhưng trả về các trường rỗng, và bạn không nhận ra cho đến khi đã thu thập cả tuần toàn ô trống.
2. Thay đổi endpoint API nội bộ và GraphQL
Các repo thông minh hơn bỏ qua HTML hoàn toàn và gọi vào GraphQL hoặc REST API nội bộ của Zillow. Ví dụ, repo dùng trực tiếp API nội bộ của Zillow và chia nhỏ ranh giới bản đồ theo đệ quy để vượt giới hạn kết quả. Đó là một thiết kế khéo léo — nhưng Zillow định kỳ tái cấu trúc các endpoint này. Khi điều đó xảy ra, scraper của bạn trả về 404 hoặc JSON rỗng mà không có thông báo lỗi.
Đây là kiểu hỏng tinh vi hơn. Code vẫn ổn. Chỉ là đích đã dịch chuyển.
3. Chống bot và CAPTCHA ngày càng gắt
Zillow đã tăng cường phát hiện bot theo thời gian. Trong lần thử của riêng tôi vào tháng 4/2026, các lệnh requests.get() đơn giản tới cả zillow.com và zillow.com/homes/Chicago,-IL_rb/ đều trả về — ngay cả khi dùng user-agent giống Chrome và header Accept-Language. Báo cáo từ cộng đồng cũng trùng khớp: một người dùng cho biết luồng API reverse-engineer của họ bắt đầu trả 403 sau khoảng .
Scraper chạy tốt ở quy mô nhỏ có thể đột nhiên thất bại khi mở rộng. Đó là cú sốc khó chịu khi bạn đang cố theo dõi 200 tin đăng trên 3 mã ZIP.
4. Bức tường đăng nhập quanh dữ liệu cao cấp
Một số điểm dữ liệu — chi tiết Zestimate, hồ sơ thuế, một số lịch sử giá — bị khóa sau xác thực. Các scraper mã nguồn mở hiếm khi xử lý luồng đăng nhập, nên các trường này thường trả rỗng. Nếu use case của bạn phụ thuộc vào lịch sử giá hoặc giá trị thuế được định giá, bạn sẽ sớm đụng tường này.
5. Phụ thuộc bị mục nát và repo không được bảo trì
có cả lỗi cài đặt như No module named 'unicodecsv'. ghi lại nỗi đau phải cài driver và phụ thuộc GIS thủ công. Cập nhật thư viện Python có thể làm hỏng khả năng tương thích. Những repo không được cập nhật 6+ tháng thường gãy ngay từ lúc cài mới, trước cả khi chạm tới lớp chống bot của Zillow.
Phòng thủ chống bot của Zillow trong 2026: Bạn thực sự đang đối đầu với gì
“Chỉ cần dùng proxy và xoay header” là lời khuyên tạm được vào năm 2022. Đến 2026 thì không còn nữa.
Không chỉ chặn IP: fingerprint TLS và thử thách JS
Zillow không chỉ chặn IP. Báo cáo từ cộng đồng mô tả Zillow đứng sau Cloudflare với vượt xa giới hạn tốc độ đơn giản. TLS fingerprinting nhận diện client không phải trình duyệt bằng “cú bắt tay số” của chúng — cách chúng thương lượng mã hóa. Ngay cả khi dùng proxy mới, scraper vẫn có thể bị đánh dấu nếu chữ ký TLS không giống Chrome thật.
Thử thách JavaScript thêm một lớp nữa. Các headless browser không thực thi đầy đủ JS hoặc lộ dấu hiệu tự động hóa (như navigator.webdriver = true) sẽ bị bắt.
Trang tìm kiếm vs. trang chi tiết bất động sản: mức bảo vệ khác nhau
Không phải mọi trang Zillow đều được bảo vệ như nhau. tách rõ “Fast Mode” bỏ qua trang chi tiết với “Full Mode” chậm hơn nhưng có dữ liệu giàu hơn. Hướng dẫn cũng tách riêng giai đoạn scrape danh sách ban đầu và “Scrape Subpages” để lấy thêm dữ liệu từ trang chi tiết.
Kết luận thực tế: scraper của bạn có thể chạy ổn trên kết quả tìm kiếm nhưng lại fail ở từng trang bất động sản, nơi Zillow áp dụng bảo vệ mạnh hơn vì dữ liệu giá trị cao và bị scrape thường xuyên hơn.
Nhóm chỉ dùng HTTP: vì sao một số dev tránh tự động hóa trình duyệt
Có một bộ phận dev rất muốn dùng cách chỉ HTTP — không Selenium, không Playwright, không Puppeteer. Lý do rất thực dụng: tự động hóa trình duyệt chậm, tốn tài nguyên và khó triển khai ở quy mô lớn hơn.
Đánh giá trung thực: trong 2026, cách thuần HTTP với Zillow ngày càng khó nếu không quản lý header và fingerprint ở mức tinh vi. Bằng chứng từ cộng đồng cho thấy rendering bằng trình duyệt đang dần trở thành chuẩn, chứ không còn là ngoại lệ, với các mục tiêu như Zillow.
Thực hành chống chặn cụ thể cho Zillow

Nếu bạn đi theo hướng tự làm, đây là những gì thực sự có ích (và những gì không):
- Tốc độ request ngẫu nhiên mô phỏng hành vi duyệt web của con người — không phải delay cố định, mà là khoảng cách thay đổi kèm hành vi giống một phiên duyệt
- Cấu hình header thực tế gồm
Accept-Language, các header họSec-CH-UA, và chuỗi referer hợp lý — nhưng phải nói thật: header thực tế là cần thiết, chứ chưa đủ - Xoay phiên làm việc — đừng tái sử dụng cùng một cặp proxy/cookie cho hàng trăm request
- Biết khi nào phải chuyển sang rendering bằng trình duyệt — nếu cách thuần HTTP của bạn trả 403 sau 50 request, nghĩa là bạn đang đánh một trận thua
Đừng tin bất kỳ bài viết nào ám chỉ rằng chỉ cần một khối header “thần kỳ” là giải quyết được Zillow trong 2026.
xử lý tất cả điều này tự động — xoay hạ tầng qua US/EU/Asia, quản lý rendering và chống bot — nên người dùng không phải chui vào hố thỏ cấu hình proxy. Vấn đề nằm ở chỗ gánh nặng vận hành được đặt ở đâu.
Cách tốt nhất để làm bền thiết lập Zillow Scraper GitHub của bạn trong tương lai
Với những ai vẫn quyết định đi theo đường GitHub/DIY, đây là các thực hành phân biệt scraper sống được nhiều tháng với scraper hỏng trong vài ngày.
Tách selector khỏi những class name dễ vỡ
Nếu một repo phụ thuộc vào tên class CSS tự sinh của Zillow, hãy xem đó là cờ đỏ. Những tên này đổi rất thường xuyên — đôi khi hàng tuần. Thay vào đó:
- Nhắm vào phần tử bằng
aria-label, các thuộc tínhdata-*, hoặc văn bản tiêu đề gần đó - Dùng selector dựa trên text-content khi có thể
- Ưu tiên trích xuất JSON trước khi phân tích HTML nếu Zillow cung cấp dữ liệu có cấu trúc trong source của trang
Thêm kiểm tra sức khỏe tự động
Hãy coi scraping Zillow như giám sát production, không phải script chạy một lần. Thiết lập cron job hoặc GitHub Action để:
- Chạy scraper trên một listing đã biết mỗi ngày
- Kiểm tra schema output (mọi field dự kiến còn tồn tại và không rỗng chứ?)
- Gửi cảnh báo nếu output sai định dạng hoặc rỗng
Cách này phát hiện lỗi trong vòng 24 giờ thay vì vài tuần.
Ghim phiên bản phụ thuộc và dùng môi trường ảo
Luôn ghim phiên bản phụ thuộc Python (hoặc Node) vào các version cụ thể. Dùng virtual environment hoặc Docker container. Các repo cũ trong bản kiểm tra của chúng tôi cho thấy lỗi cài đặt xảy ra nhanh thế nào — dependency hỏng thường là thứ gãy đầu tiên, trước cả khi lớp chống bot của Zillow kịp vào cuộc.
Giữ khối lượng scrape ở mức thận trọng
Ngưỡng không phải phổ quát, nhưng là lời nhắc đáng tin rằng khối lượng thay đổi hành vi của một scraper tưởng như ổn trong thử nghiệm. Hãy trải request ra nhiều phiên. Dùng delay ngẫu nhiên. Đừng cố scrape 10.000 listing trong một lần chạy.
Biết khi nào DIY không còn đáng công
Nếu bạn dành nhiều thời gian bảo trì scraper hơn là phân tích dữ liệu, bài toán kinh tế đã đảo chiều. Đó không phải thất bại — đó là tín hiệu để cân nhắc một giải pháp được quản lý sẵn.
Zillow Scraper GitHub (DIY) so với công cụ no-code: ma trận quyết định trung thực
Đối tượng tìm “zillow scraper github” thường tách thành hai nhóm: dev muốn sở hữu code, và người làm bất động sản chỉ muốn có dữ liệu trong spreadsheet. Cả hai đều hợp lý. Dưới đây là cách các đánh đổi thực sự diễn ra.
Bảng so sánh song song

| Tiêu chí | Scraper GitHub (Python) | Công cụ no-code (ví dụ: Thunderbit) |
|---|---|---|
| Thời gian thiết lập | 30–120 phút (env, deps, proxy) | ~2 phút (cài extension, bấm scrape) |
| Bảo trì | Liên tục — hỏng khi Zillow thay đổi | Không cần — AI tự thích nghi với bố cục trang |
| Xử lý chống bot | Thủ công (proxy, header, delay) | Tích hợp sẵn (cloud scraping, hạ tầng xoay vòng) |
| Trường dữ liệu | Tùy chỉnh — bạn code gì thì lấy nấy | Do AI gợi ý hoặc dựa trên template |
| Tùy chọn xuất | CSV/JSON qua code | Excel, Google Sheets, Airtable, Notion — miễn phí |
| Chi phí | Miễn phí (code) + phí proxy ($3.50–$8/GB với residential) | Có gói miễn phí; vượt mức dùng credit |
| Trần tùy biến | Không giới hạn (bạn sở hữu code) | Cao (prompt AI cho field, scrape subpage) nhưng vẫn có giới hạn |
Thực tế chi phí proxy
Lập luận “repo miễn phí” kém thuyết phục hơn nhiều khi bạn tính cả phí proxy. Giá công khai hiện tại cho residential proxy:
| Nhà cung cấp | Giá (tính đến tháng 4/2026) |
|---|---|
| Webshare | $3.50/GB cho 1 GB, thấp hơn ở gói lớn |
| Decodo | Khoảng $3.50/GB trả theo mức dùng |
| Bright Data | $8/GB theo niêm yết, $4/GB với khuyến mãi hiện tại |
| Oxylabs | Bắt đầu từ $8/GB |
Repo có thể miễn phí, nhưng workflow Zillow dựa trên proxy thường thì không.
Khi nào nên chọn repo GitHub
- Bạn thích viết và bảo trì code
- Bạn cần tùy biến cực kỳ cụ thể (biến đổi dữ liệu riêng, tích hợp pipeline độc quyền)
- Bạn có thời gian và kỹ năng kỹ thuật để xử lý lỗi hỏng
- Bạn sẵn sàng quản lý hạ tầng proxy
Khi nào nên chọn Thunderbit
- Bạn cần dữ liệu đáng tin ngay hôm nay, không cần thiết lập hay bảo trì
- Bạn là môi giới, nhà đầu tư, hoặc thành viên đội vận hành — không phải developer
- Bạn muốn mà không cần viết code export
- Bạn muốn scrape subpage (làm giàu listing bằng dữ liệu trang chi tiết) mà không cần cấu hình thêm
- Bạn muốn scheduled scraping được mô tả bằng ngôn ngữ tự nhiên
Từng bước: Cách scrape Zillow bằng Thunderbit (không cần GitHub)
Con đường no-code hoàn toàn khác quy trình thiết lập GitHub.
Bước 1: Cài tiện ích Chrome Thunderbit
Vào , cài Thunderbit và đăng ký. Có gói miễn phí.
Bước 2: Mở Zillow và mở Thunderbit
Vào bất kỳ trang kết quả tìm kiếm nào của Zillow — chẳng hạn nhà đang bán ở một mã ZIP cụ thể. Nhấp biểu tượng tiện ích Thunderbit trên thanh công cụ trình duyệt.
Bước 3: Dùng template Zillow Instant Scraper (hoặc để AI gợi ý field)
Thunderbit có một — không cần cấu hình, chỉ một cú nhấp. Template bao gồm các trường tiêu chuẩn: Địa chỉ, Giá, Số phòng ngủ, Số phòng tắm, Diện tích, Tên agent, Số điện thoại agent, và URL tin đăng.
Hoặc nhấp “AI Suggest Fields” và AI sẽ đọc trang rồi gợi ý các cột. Theo kinh nghiệm của tôi, nó thường phát hiện , bao gồm cả Zestimate.
Bước 4: Bấm Scrape và kiểm tra kết quả
Nhấp “Scrape.” Thunderbit tự xử lý phân trang, chống bot và cấu trúc dữ liệu. Bạn nhận được một bảng kết quả có cấu trúc — không 403, không trường rỗng, không cần cấu hình proxy.
Bước 5: Làm giàu bằng dữ liệu từ subpage (tuỳ chọn)
Nhấp “Scrape Subpages” để Thunderbit truy cập từng trang chi tiết của listing và lấy thêm field: lịch sử giá, hồ sơ thuế, diện tích lô đất, xếp hạng trường học. Với thiết lập GitHub, đây sẽ là một lượt scrape thứ hai phức tạp với logic selector và chống bot riêng. Ở đây chỉ là một cú nhấp.
Bước 6: Xuất dữ liệu miễn phí
Xuất sang Excel, Google Sheets, Airtable hoặc Notion — tất cả đều miễn phí. Tải xuống CSV hoặc JSON nếu bạn thích. Không cần viết code xuất.
Đó là một trải nghiệm khác hẳn hành trình dùng GitHub, vốn thường bắt đầu bằng thiết lập môi trường và kết thúc bằng việc sửa lỗi 403.
Từ CSV đến insight: Nên làm gì với dữ liệu Zillow của bạn
Phần lớn hướng dẫn dừng lại ở “đây là CSV của bạn.” Điều đó giống như đưa ai đó một cần câu rồi bỏ đi trước khi chỉ cách nấu cá.
Scraping chỉ là bước đầu. Phần còn lại đây.
Bước 1: Scrape — Thu thập dữ liệu listing
Các field cốt lõi từ kết quả tìm kiếm: giá, số phòng ngủ, số phòng tắm, sqft, địa chỉ, Zestimate, trạng thái tin đăng, số ngày trên thị trường, URL tin đăng.
Bước 2: Làm giàu — Lấy dữ liệu trang chi tiết qua scrape subpage
Các field bổ sung từ trang chi tiết bất động sản: lịch sử giá, hồ sơ thuế, diện tích lô đất, phí HOA, xếp hạng trường học, thông tin liên hệ agent. Scrape subpage của Thunderbit xử lý việc này chỉ với một cú nhấp. Với setup GitHub, bạn sẽ cần một lượt scrape riêng với selector và logic chống bot riêng.
Bước 3: Xuất — Đưa vào nền tảng bạn thích
- Google Sheets cho phân tích nhanh và chia sẻ
- Airtable cho mini-CRM hoặc bộ theo dõi deal
- Notion cho dashboard nhóm
- CSV/JSON cho pipeline tùy chỉnh
Bước 4: Theo dõi — Lên lịch scrape định kỳ
Đây là điểm đau mà nhiều thread trên forum cho là chưa có lời giải. Bạn không chỉ muốn dữ liệu hôm nay — bạn muốn bắt các đợt giảm giá, thay đổi trạng thái (active → pending → sold), và listing mới khi chúng xuất hiện.
Scheduled scraper của Thunderbit cho phép bạn mô tả khoảng thời gian bằng ngôn ngữ tự nhiên (ví dụ: “mỗi thứ Ba và thứ Sáu lúc 8 giờ sáng”). Với setup GitHub, bạn sẽ phải tự xây cron job, xử lý duy trì xác thực và quản lý phục hồi khi lỗi.
Bước 5: Hành động — Lọc cơ hội và đẩy vào workflow tiếp cận
Đây là lúc dữ liệu biến thành quyết định:
- Với nhà đầu tư: lọc tin có giảm giá >5% trong 30 ngày, số ngày trên thị trường >90, giá thấp hơn Zestimate
- Với agent: gắn cờ listing mới khớp tiêu chí người mua, listing hết hạn/thu hồi để tìm lead
- Với nhà nghiên cứu: tính xu hướng giá trên mỗi sqft, tỷ lệ giá bán so với giá niêm yết, tốc độ luân chuyển hàng tồn
Ví dụ thực tế: Nhà đầu tư theo dõi 200 listing ở 3 mã ZIP
Đây là cách các field dữ liệu gắn với từng use case:
| Trường dữ liệu | Đầu tư | Lead cho agent | Nghiên cứu thị trường |
|---|---|---|---|
| Giá | ✅ Cốt lõi | ✅ | ✅ |
| Zestimate | ✅ Cốt lõi (phân tích chênh lệch) | ✅ | |
| Lịch sử giá | ✅ Cốt lõi (phát hiện xu hướng) | ✅ | |
| Số ngày trên thị trường | ✅ Cốt lõi (tín hiệu động lực) | ✅ | ✅ |
| Giá trị thuế được định giá | ✅ (đối chiếu định giá) | ✅ | |
| Trạng thái tin đăng | ✅ | ✅ Cốt lõi | ✅ |
| Ngày đăng | ✅ | ✅ | |
| Tên/số điện thoại agent | ✅ Cốt lõi | ||
| Giá trên mỗi sqft | ✅ | ✅ Cốt lõi | |
| Giá bán so với giá niêm yết | ✅ Cốt lõi |
Nhà đầu tư thiết lập scrape hàng tuần trên ba mã ZIP, xuất sang Google Sheets và áp dụng định dạng có điều kiện cho các đợt giảm giá và các điểm bất thường về DOM. Agent xuất sang Airtable và xây pipeline tìm khách tiềm năng. Nhà nghiên cứu đẩy vào spreadsheet để phân tích xu hướng. Cùng một bước scrape, ba workflow khác nhau.
Các cân nhắc pháp lý và đạo đức khi scrape Zillow
Ngắn gọn nhưng cần thiết.
cấm rõ ràng các truy vấn tự động, bao gồm screen scraping, crawler, spider và việc vượt qua các biện pháp kiểu CAPTCHA. của Zillow cũng chặn nhiều đường dẫn lớn, bao gồm /api/, /homes/ và các URL trạng thái truy vấn.
Đồng thời, luật scraping web của Mỹ không thể giản lược thành “mọi scraping đều là bất hợp pháp.” Chuỗi vụ hiQ v. LinkedIn có ý nghĩa đối với việc scrape dữ liệu công khai theo CFAA. Một của Haynes Boone cho biết Ninth Circuit một lần nữa bác bỏ nỗ lực của LinkedIn nhằm ngăn việc scrape hồ sơ thành viên công khai. Nhưng điều đó không xóa đi các lập luận riêng về hợp đồng, quyền riêng tư hoặc chống né tránh biện pháp kỹ thuật, và cũng không làm điều khoản sử dụng của Zillow trở nên vô nghĩa.
Điều đó có nghĩa là:
- Scrape trang công khai có thể có cơ sở CFAA mạnh hơn nhiều chủ website vẫn nói
- Zillow vẫn cấm về mặt hợp đồng
- Việc vượt qua rào cản kỹ thuật làm tăng rủi ro pháp lý
- Nếu bạn có use case thương mại hoặc khối lượng lớn, hãy xin tư vấn pháp lý
- Bất kể bối cảnh pháp lý ra sao, hãy scrape có trách nhiệm: tôn trọng rate limit, đừng làm quá tải server, đừng dùng dữ liệu cá nhân để spam
Chọn đúng công cụ cho workflow Zillow của bạn
Bức tranh Zillow scraper GitHub trong 2026 mỏng hơn vẻ ngoài. Phần lớn repo dễ thấy đều cũ, giòn hoặc hỏng. Một số repo mới hơn — đặc biệt là — vẫn chạy, nhưng chỉ với việc duy trì proxy và chống bot liên tục.
Quyết định thực sự không phải là mã nguồn mở hay đóng. Mà là quyền kiểm soát so với gánh nặng vận hành.
- Nếu bạn muốn toàn quyền kiểm soát và thích bảo trì scraper, repo GitHub rất mạnh — nhưng hãy dành thời gian cho quản lý proxy, cập nhật selector và giám sát sức khỏe.
- Nếu bạn muốn dữ liệu đáng tin ngay hôm nay, không tốn công bảo trì, sẽ đưa bạn từ trang tìm kiếm đến spreadsheet chỉ trong vài phút. AI đọc cấu trúc trang mới mỗi lần, nên không bao giờ phụ thuộc vào selector hardcode dễ gãy.
Cả hai đường đều hợp lệ.
Kết cục tệ nhất là tốn hàng giờ để dựng một scraper GitHub, rồi phát hiện ra nó đã hỏng từ tháng trước và không ai cập nhật README.
Nếu bạn muốn xem con đường no-code hoạt động thế nào, hãy — scrape danh sách Zillow chỉ trong khoảng 2 cú nhấp và xuất sang nền tảng mà đội của bạn đang dùng. Muốn xem quy trình trước? có các video hướng dẫn.
Câu hỏi thường gặp
Có scraper Zillow nào còn chạy trên GitHub trong 2026 không?
Có vài repo chỉ chạy một phần — đáng chú ý nhất là johnbalvin/pyzill, vẫn trả dữ liệu nhưng cần proxy residential xoay vòng và tinh chỉnh liên tục. Phần lớn repo nhiều sao (bao gồm ChrisMuir/Zillow với 170 sao và scrapehero/zillow_real_estate với 152 sao) đã hỏng do thay đổi chống bot và cập nhật DOM của Zillow. Xem bảng kiểm tra ở trên để biết trạng thái hiện tại.
Zillow có thể phát hiện và chặn scraper GitHub không?
Có. Zillow dùng chặn IP, TLS fingerprinting, thử thách JavaScript, CAPTCHA và giới hạn tốc độ. Trong quá trình thử nghiệm, ngay cả các request HTTP đơn giản với header giống Chrome cũng trả 403 từ CloudFront. Các scraper GitHub không có biện pháp chống phát hiện phù hợp — proxy residential, header thực tế, rendering bằng trình duyệt — sẽ bị chặn nhanh, thường trong vòng 100 request.
Bạn có thể scrape dữ liệu gì từ Zillow?
Các field phổ biến gồm giá, địa chỉ, số phòng ngủ, số phòng tắm, diện tích, Zestimate, trạng thái tin đăng, số ngày trên thị trường, URL tin đăng và thông tin liên hệ agent. Với scrape trang chi tiết, bạn còn có thể lấy lịch sử giá, hồ sơ thuế, diện tích lô đất, phí HOA và xếp hạng trường học. Bộ field cụ thể phụ thuộc vào khả năng của scraper và việc bạn đang lấy kết quả tìm kiếm hay từng trang bất động sản.
Scrape Zillow có hợp pháp không?
Điều này khá tinh tế. Scrape dữ liệu công khai có cơ sở pháp lý mạnh hơn sau các vụ như hiQ v. LinkedIn, nhưng Điều khoản sử dụng của Zillow vẫn cấm truy cập tự động. Vượt qua rào cản kỹ thuật (CAPTCHA, giới hạn tốc độ) làm tăng rủi ro pháp lý. Với nghiên cứu cá nhân, rủi ro thường thấp. Với use case thương mại hoặc khối lượng lớn, hãy hỏi luật sư. Dù thế nào cũng phải scrape có trách nhiệm.
Thunderbit scrape Zillow mà không bị hỏng bằng cách nào?
Thunderbit dùng AI để đọc lại cấu trúc trang mới ở mỗi lần chạy — không phụ thuộc vào CSS selector hay XPath hardcode vốn sẽ gãy khi Zillow cập nhật frontend. Nó cũng có sẵn để trích xuất chỉ với một cú nhấp. Cloud scraping tự động xử lý chống bot bằng hạ tầng xoay vòng, nên người dùng không cần tự cấu hình proxy hay tự quản rendering trình duyệt. Khi Zillow đổi bố cục, AI sẽ thích nghi — không cần cập nhật repo.
Tìm hiểu thêm