Quay lại blog

Proxy thu thập giá vé máy bay: cách lấy dữ liệu từ Aviasales, Skyscanner và Google Flights không bị chặn

Các trang web hàng không chặn các yêu cầu tự động ngay lập tức - tìm hiểu các proxy nào giúp thu thập giá vé hiện tại mà không bị cấm và không có captcha.

📅15 tháng 3, 2026
```html

Các trang web vé máy bay là một trong những tài nguyên được bảo vệ mạnh mẽ nhất trên internet. Giá cả không ổn định, captcha, chặn IP ngay lập tức - tất cả điều này làm cho việc thu thập dữ liệu về giá vé trở thành một thử thách thực sự. Nếu bạn đang xây dựng một trang tổng hợp, theo dõi giá cho khách hàng hoặc tìm kiếm các tuyến đường rẻ trong chế độ tự động, mà không có proxy được cấu hình đúng, bạn sẽ không tồn tại được một giờ. Trong bài viết này, chúng ta sẽ xem xét những proxy nào hoạt động, cách cấu hình chúng và tại sao một số loại thất bại ở nơi mà những loại khác thành công.

Tại sao các trang web vé máy bay chặn việc thu thập dữ liệu nhanh như vậy

Ngành hàng không hoạt động với việc định giá động: giá cả thay đổi hàng chục lần trong ngày tùy thuộc vào nhu cầu, thời gian trong ngày, lịch sử trình duyệt và thậm chí là vị trí địa lý của người dùng. Chính vì vậy, các trang tổng hợp lớn - Aviasales, Skyscanner, Kayak, Google Flights - đầu tư rất nhiều nguồn lực vào việc bảo vệ chống lại các yêu cầu tự động.

Đây là những gì xảy ra khi bạn cố gắng thu thập dữ liệu mà không có proxy hoặc với IP từ các trung tâm dữ liệu rẻ:

  • Chặn IP ngay lập tức - hầu hết các trang web vé máy bay đều duy trì cơ sở dữ liệu ASN (hệ thống tự trị) của các trung tâm dữ liệu. Yêu cầu từ IP của máy chủ sẽ bị chặn ngay cả trước khi tải trang.
  • Captcha và Cloudflare - ngay cả khi yêu cầu đầu tiên đã thành công, sau 5-10 lần truy cập từ một địa chỉ sẽ xuất hiện captcha hoặc chuyển hướng để kiểm tra.
  • Giá giả - một số trang web (đặc biệt là các trang tổng hợp OTA) cố tình hiển thị cho bot giá cao hơn hoặc lỗi thời để làm hỏng dữ liệu của đối thủ.
  • Fingerprinting - ngoài IP, các hệ thống phân tích tiêu đề HTTP, thứ tự mở rộng TLS, hành vi chuột và tốc độ cuộn.
  • Giới hạn tỷ lệ - giới hạn số lượng yêu cầu từ một IP trong một khoảng thời gian nhất định. Thường thì ngưỡng là 20-50 yêu cầu mỗi phút, sau đó kết nối sẽ bị ngắt.

Kết quả: mà không có proxy chất lượng với IP thực, bạn sẽ không thu thập được dữ liệu hiện tại. Proxy từ các trung tâm dữ liệu hoạt động kém ở đây - các trang web vé máy bay nhận diện chúng ngay trong những giây đầu tiên. Cần có hoặc là IP dân cư, hoặc là IP di động.

Những loại proxy nào phù hợp cho vé máy bay

Chúng ta sẽ xem xét ba loại proxy chính và tính khả thi của chúng trong việc thu thập giá vé máy bay:

Loại proxy Nguồn IP Vượt qua bảo vệ của các trang web vé máy bay Tốc độ Chi phí
Proxy dân cư Nhà cung cấp gia đình (Ростелеком, Билайн, AT&T) ⭐⭐⭐⭐⭐ Tuyệt vời Trung bình Trung bình
Proxy di động Mạng của các nhà mạng (MTS, MegaFon, T-Mobile) ⭐⭐⭐⭐⭐ Tuyệt vời Cao Cao
Proxy từ các trung tâm dữ liệu Các trang trại máy chủ (AWS, OVH, Hetzner) ⭐⭐ Kém Rất cao Thấp

Kết luận rõ ràng: đối với các trang web vé máy bay, proxy từ các trung tâm dữ liệu gần như vô dụng. Aviasales, Skyscanner và Google Flights ngay lập tức xác định IP từ các nhà cung cấp hosting và hoặc là chặn, hoặc là hiển thị captcha. Lựa chọn thực sự là giữa proxy dân cư và proxy di động - và mỗi loại có một vị trí riêng.

Proxy dân cư vs proxy di động: nên chọn cái nào cho vé máy bay

Cả hai loại đều hoạt động, nhưng trong các kịch bản khác nhau, một loại thắng loại kia. Hãy cùng xem xét cụ thể.

Proxy dân cư - cho việc thu thập dữ liệu quy mô lớn

Proxy dân cư sử dụng địa chỉ IP của người dùng thực trên toàn thế giới. Đối với việc thu thập vé máy bay, điều này có nghĩa là:

  • Có khả năng chọn một quốc gia cụ thể và thậm chí là thành phố - điều này rất quan trọng nếu bạn kiểm tra giá cho các thị trường khác nhau (ví dụ, giá từ Moscow so với từ London cho cùng một chuyến bay).
  • Đại diện IP lớn - hàng ngàn địa chỉ để xoay vòng, cho phép thực hiện hàng trăm yêu cầu mà không bị lặp lại.
  • Giá cả hợp lý với chất lượng tốt khi có lưu lượng lớn.
  • Hỗ trợ chế độ phiên và xoay vòng - có thể giữ một phiên để mô phỏng người dùng thực.

Kịch bản lý tưởng: bạn đang xây dựng một trang tổng hợp hoặc dịch vụ theo dõi và bạn cần thu thập giá từ 10-20 trang web cùng một lúc, thực hiện hàng ngàn yêu cầu mỗi giờ. Proxy dân cư với xoay vòng - là sự lựa chọn của bạn.

Proxy di động - cho các trang web được bảo vệ nhất

Proxy di động hoạt động thông qua các SIM thực tế của các nhà mạng di động. Đặc điểm của chúng là địa chỉ IP từ các mạng di động (3G/4G/5G), mà các trang web vé máy bay hầu như không bao giờ chặn. Lý do đơn giản: một IP di động có thể đứng sau một mạng NAT, nơi có hàng ngàn người dùng thực. Chặn một địa chỉ như vậy có nghĩa là mất hàng ngàn khách hàng thực.

  • Mức độ tin cậy tối đa từ các hệ thống chống bot.
  • Rủi ro bị chặn gần như bằng không ngay cả khi thu thập dữ liệu một cách quyết liệt.
  • Có khả năng thay đổi IP thông qua việc thay đổi phiên (không cần thay đổi thiết bị vật lý).
  • Chi phí cao hơn - là hợp lý cho dữ liệu quan trọng hoặc các trang web phức tạp.

Kịch bản lý tưởng: bạn cần thu thập dữ liệu từ một trang web phức tạp cụ thể (ví dụ, trang web trực tiếp của hãng hàng không với Cloudflare Enterprise), nơi mà proxy dân cư thỉnh thoảng xuất hiện captcha. Proxy di động sẽ giải quyết vấn đề này.

💡 Lời khuyên thực tế

Đối với hầu hết các nhiệm vụ theo dõi giá vé máy bay, chiến lược tối ưu là proxy dân cư cho việc thu thập quy mô lớn + proxy di động cho các trang web phức tạp. Điều này cho phép tối ưu hóa ngân sách mà không làm giảm chất lượng dữ liệu.

Đặc điểm bảo vệ của Aviasales, Skyscanner, Google Flights và Kayak

Mỗi nền tảng có những đặc điểm bảo vệ riêng. Hiểu những khác biệt này sẽ giúp bạn cấu hình proxy và hành vi của các yêu cầu một cách chính xác.

Aviasales

Trang tổng hợp của Nga sử dụng sự kết hợp giữa giới hạn tỷ lệ và phân tích hành vi. Giới hạn là khoảng 30-40 yêu cầu mỗi phút từ một IP. Khi vượt quá - chuyển hướng đến captcha từ Yandex SmartCaptcha. Trang web tương đối thân thiện với proxy dân cư có IP của Nga. Quan trọng: giá trên Aviasales phụ thuộc vào vị trí địa lý, vì vậy để thu thập dữ liệu chính xác, hãy sử dụng proxy với IP của quốc gia mà bạn cần giá.

Skyscanner

Một trong những trang tổng hợp được bảo vệ nhất. Sử dụng Cloudflare với cấu hình "Chế độ bị tấn công" cho các IP nghi ngờ, cũng như hệ thống chống bot riêng. Proxy từ các trung tâm dữ liệu ở đây hoàn toàn không hoạt động. Proxy dân cư có thể vượt qua, nhưng yêu cầu tốc độ yêu cầu chậm (không quá 15-20 mỗi phút) và tiêu đề trình duyệt chính xác. Đối với Skyscanner, nên mô phỏng một phiên trình duyệt thực qua Playwright hoặc Puppeteer với proxy được kết nối.

Google Flights

Google sử dụng các thuật toán riêng để phát hiện bot - reCAPTCHA v3 và phân tích các mẫu hành vi. Việc thu thập HTML trực tiếp ở đây không hoạt động, vì dữ liệu được tải qua JavaScript. Cần một trình duyệt headless (Playwright/Puppeteer) với proxy dân cư hoặc di động. Google cũng nhạy cảm với sự trùng khớp giữa vị trí địa lý của IP và ngôn ngữ của trình duyệt - sự không khớp làm tăng nguy cơ bị chặn.

Kayak

Trang tổng hợp của Mỹ với bảo vệ chống bot mạnh mẽ dựa trên PerimeterX (nay là HUMAN Security). Nhận diện không chỉ IP mà còn cả fingerprint TLS, thứ tự của các tiêu đề HTTP/2 và thời gian giữa các yêu cầu. Đối với Kayak, bắt buộc phải có: proxy dân cư hoặc di động, mô phỏng trình duyệt thực và độ trễ ngẫu nhiên giữa các yêu cầu (2-8 giây).

Nền tảng Hệ thống bảo vệ Proxy từ các trung tâm dữ liệu có hoạt động không? Cần headless không? Loại proxy được khuyến nghị
Aviasales Giới hạn tỷ lệ + Yandex Captcha ❌ Không Nên có Proxy dân cư (RU)
Skyscanner Cloudflare + hệ thống riêng ❌ Không ✅ Có Proxy dân cư / Di động
Google Flights reCAPTCHA v3 + phân tích hành vi ❌ Không ✅ Bắt buộc Proxy dân cư / Di động
Kayak HUMAN Security (PerimeterX) ❌ Không ✅ Có Di động

Cách cấu hình proxy để thu thập dữ liệu về giá vé máy bay

Việc cấu hình phụ thuộc vào công cụ mà bạn đang sử dụng. Hãy xem xét các kịch bản phổ biến nhất.

Tùy chọn 1: Các trình thu thập sẵn có và công cụ không cần mã

Nếu bạn không viết mã, hãy sử dụng các giải pháp có sẵn: Octoparse, ParseHub, Apify. Tất cả đều hỗ trợ kết nối proxy bên ngoài. Các bước thực hiện:

  1. Nhận dữ liệu proxy: máy chủ (IP hoặc tên miền), cổng, tên đăng nhập, mật khẩu.
  2. Mở cài đặt công cụ của bạn → phần "Proxy" hoặc "Mạng".
  3. Chọn loại giao thức: HTTPS (cho hầu hết các nhiệm vụ) hoặc SOCKS5 (nếu cần hoạt động ở mức thấp hơn).
  4. Chèn dữ liệu kết nối. Định dạng thường là: login:password@host:port
  5. Bật xoay vòng proxy - hầu hết các công cụ tự động thực hiện điều này khi có một nhóm địa chỉ.
  6. Chạy một yêu cầu thử nghiệm đến trang web mục tiêu và kiểm tra xem IP đã thay đổi chưa.

Tùy chọn 2: Playwright / Puppeteer với proxy

Đối với các trang web phức tạp (Google Flights, Skyscanner) cần một trình duyệt headless. Đây là cách kết nối proxy trong Playwright:

const { chromium } = require('playwright');

const browser = await chromium.launch({
  proxy: {
    server: 'http://your-proxy-host:port',
    username: 'your_login',
    password: 'your_password'
  }
});

const page = await browser.newPage();
await page.goto('https://www.skyscanner.com/...');
// Tiếp theo là logic của bạn để thu thập dữ liệu
await browser.close();

Để xoay vòng proxy cho mỗi yêu cầu mới, hãy tạo một ngữ cảnh trình duyệt mới với proxy mới từ nhóm của bạn. Điều này mô phỏng hành vi của các người dùng khác nhau.

Tùy chọn 3: Python + requests/httpx

Đối với các trang web không có JavaScript-rendering (hoặc để làm việc với API của các trang web vé máy bay), Python là lựa chọn phù hợp:

import requests
import random

proxies_pool = [
    "http://login:[email protected]:port",
    "http://login:[email protected]:port",
    "http://login:[email protected]:port",
]

headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",
    "Accept-Language": "ru-RU,ru;q=0.9",
    "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
}

proxy = {"http": random.choice(proxies_pool), "https": random.choice(proxies_pool)}

response = requests.get(
    "https://www.aviasales.ru/search/...",
    proxies=proxy,
    headers=headers,
    timeout=15
)

print(response.status_code)

Xoay vòng IP và quản lý phiên: quy tắc chính

Việc xoay vòng IP đúng cách là một nửa thành công trong việc thu thập dữ liệu vé máy bay. Chỉ thay đổi IP là không đủ: cần phải làm điều đó một cách thông minh.

Quy tắc 1: Một IP - một phiên

Không sử dụng một IP cho nhiều yêu cầu song song. Các hệ thống chống bot sẽ thấy tải cao bất thường từ một địa chỉ và chặn nó. Mỗi luồng yêu cầu phải hoạt động thông qua một proxy riêng biệt.

Quy tắc 2: Độ trễ ngẫu nhiên giữa các yêu cầu

Người dùng thực không gửi yêu cầu với khoảng thời gian đều đặn. Thêm độ trễ ngẫu nhiên từ 2 đến 8 giây giữa các yêu cầu. Điều này giảm khả năng bị phát hiện bởi bot xuống 3-4 lần so với các yêu cầu đều đặn.

Quy tắc 3: Sự phù hợp giữa vị trí địa lý và ngôn ngữ

Nếu bạn sử dụng proxy với IP của Đức, tiêu đề trình duyệt phải có ngôn ngữ Đức (Accept-Language: de-DE). Sự không khớp là tín hiệu rõ ràng cho các hệ thống chống bot. Điều này đặc biệt quan trọng đối với Google Flights.

Quy tắc 4: Proxy phiên cho các yêu cầu nhiều bước

Một số trang web vé máy bay yêu cầu nhiều bước: tìm kiếm → chọn chuyến bay → xem chi tiết. Tất cả các bước này phải được thực hiện từ một IP. Sử dụng các phiên dính (sticky sessions) - chế độ mà một IP được gán cho luồng của bạn trong một khoảng thời gian nhất định (thường là 10-30 phút).

Quy tắc 5: Giám sát chất lượng proxy

Thường xuyên kiểm tra xem IP nào trong nhóm đã bị chặn. Tự động loại trừ các địa chỉ trả về mã 403, 429 hoặc chuyển hướng đến captcha. Hầu hết các framework thu thập dữ liệu chuyên nghiệp (Scrapy, Apify) thực hiện điều này tự động.

Công cụ sẵn có cho việc thu thập giá vé máy bay

Nếu bạn không muốn viết trình thu thập dữ liệu từ đầu, đây là những công cụ đã hỗ trợ làm việc với proxy và phù hợp cho việc theo dõi giá vé máy bay:

Apify

Nền tảng đám mây cho việc thu thập dữ liệu web. Có các actor (bot) sẵn có cho Skyscanner và Google Flights. Hỗ trợ kết nối proxy bên ngoài qua cài đặt. Để kết nối proxy của bạn: hãy chuyển đến cài đặt của actor → tab "Proxy and browser configuration" → chọn "Custom proxies" → dán URL của proxy của bạn theo định dạng http://user:pass@host:port.

Octoparse

Trình thu thập dữ liệu không cần mã với giao diện trực quan. Phù hợp cho những người không viết mã. Hỗ trợ xoay vòng proxy: Cài đặt → Cloud Extraction → Cài đặt Proxy → Thêm Proxy Tùy chỉnh. Bạn có thể thêm danh sách proxy, và Octoparse sẽ tự động luân phiên chúng.

Scrapy + Scrapy-Rotating-Proxies

Framework Python cho việc thu thập dữ liệu chuyên nghiệp. Plugin scrapy-rotating-proxies tự động xoay vòng IP từ danh sách của bạn và loại trừ các địa chỉ bị chặn. Phù hợp cho các nhiệm vụ có tải lớn - hàng trăm ngàn yêu cầu mỗi ngày.

ParseHub

Một công cụ không cần mã khác với hỗ trợ JavaScript-rendering. Hoạt động tốt với Aviasales. Proxy được kết nối trong phần Cài đặt → Nâng cao → Proxy.

⚠️ Quan trọng về định vị giá

Các trang web vé máy bay hiển thị các mức giá khác nhau tùy thuộc vào quốc gia của người dùng. Đây không chỉ là một chiến lược tiếp thị - đây là thực tế kỹ thuật. Nếu bạn theo dõi giá cho thị trường Nga, hãy sử dụng proxy với IP của Nga. Để so sánh giá giữa các thị trường (ví dụ, giá cho cùng một chuyến bay cho người dùng từ Đức), cần có proxy với IP của các quốc gia tương ứng.

Danh sách kiểm tra: cách không bị cấm khi thu thập giá vé máy bay

Lưu lại danh sách này - nó sẽ giúp bạn tránh hầu hết các vấn đề khi cấu hình thu thập dữ liệu:

✅ Trước khi khởi động trình thu thập dữ liệu

  • Đã chọn proxy dân cư hoặc di động (không phải từ trung tâm dữ liệu)
  • IP của proxy phù hợp với thị trường mục tiêu (quốc gia/thành phố)
  • Ngôn ngữ của trình duyệt khớp với vị trí địa lý của proxy
  • Đã cấu hình xoay vòng IP (tối thiểu 1 IP cho mỗi luồng)
  • Tiêu đề User-Agent mô phỏng trình duyệt thực
  • Đối với các trang web JS, sử dụng trình duyệt headless (Playwright/Puppeteer)

✅ Trong khi trình thu thập dữ liệu hoạt động

  • Độ trễ giữa các yêu cầu: 2-8 giây (ngẫu nhiên)
  • Không quá 20-30 yêu cầu mỗi phút từ một IP
  • Các phiên nhiều bước sử dụng một IP (phiên dính)
  • Mã 403/429 tự động loại trừ IP khỏi nhóm
  • Ghi lại tất cả các lỗi để phân tích

✅ Thêm cho các trang web phức tạp

  • Các tiêu đề Referer và Accept chính xác
  • Mô phỏng chuyển động chuột và cuộn (đối với Playwright)
  • Thay đổi ngẫu nhiên User-Agent từ một nhóm trình duyệt thực
  • Sử dụng cookie phiên để mô phỏng việc truy cập lại

Những lỗi phổ biến dẫn đến việc bị cấm

  • Sử dụng proxy miễn phí. IP của chúng đã bị đưa vào danh sách đen của tất cả các trang web vé máy bay lớn. Bạn sẽ bị chặn ngay trong yêu cầu đầu tiên.
  • Tần suất yêu cầu quá cao. Ngay cả với proxy tốt, 100 yêu cầu mỗi phút từ một IP - đó là con đường chắc chắn dẫn đến việc bị cấm.
  • User-Agent giống nhau cho tất cả các yêu cầu. Người dùng thực sử dụng các trình duyệt và phiên bản khác nhau - trình thu thập dữ liệu của bạn phải mô phỏng điều này.
  • Bỏ qua cookies. Nhiều trang web theo dõi phiên qua cookies. Nếu bạn không lưu và không truyền cookies giữa các yêu cầu, hành vi sẽ trông bất thường.
  • Sự không khớp giữa vị trí địa lý và nội dung yêu cầu. Yêu cầu phiên bản tiếng Nga của trang web qua IP của Mỹ - là tín hiệu đỏ cho các hệ thống chống bot.

Kết luận

Việc thu thập dữ liệu về giá vé máy bay là một trong những nhiệm vụ kỹ thuật khó khăn nhất trong việc thu thập dữ liệu. Các trang web vé máy bay đầu tư nhiều nguồn lực vào việc bảo vệ chống lại bot, và việc vượt qua điều này mà không có công cụ đúng là không thể. Những kết luận chính từ bài viết này:

  • Proxy từ các trung tâm dữ liệu không hoạt động cho các trang web vé máy bay - chúng bị chặn ngay lập tức.
  • Proxy dân cư là lựa chọn tối ưu cho việc theo dõi giá quy mô lớn từ nhiều thị trường khác nhau.
  • Proxy di động cần thiết cho các nền tảng được bảo vệ nhất (Kayak, Skyscanner) và dữ liệu quan trọng.
  • Xoay vòng IP, độ trễ ngẫu nhiên và mô phỏng trình duyệt thực là điều kiện bắt buộc cho hoạt động ổn định.
  • Vị trí địa lý của proxy phải khớp với thị trường mục tiêu, nếu không giá sẽ không chính xác.

Nếu bạn dự định xây dựng một hệ thống theo dõi giá vé máy bay hoặc thu thập dữ liệu cho một trang tổng hợp, hãy bắt đầu với proxy dân cư - chúng cung cấp sự cân bằng cần thiết giữa chất lượng vượt qua bảo vệ, phạm vi địa lý và chi phí. Đối với các trang web phức tạp nhất với bảo vệ chống bot mạnh mẽ, hãy xem xét proxy di động - chúng cung cấp mức độ tin cậy tối đa từ các hệ thống chống bot và gần như loại trừ việc bị chặn khi được cấu hình đúng.

```