このリポジトリでは、Google Flights からフライトデータを抽出するための2つの方法を提供します。
- 無料 Google Flights スクレイパー: 小規模な抽出に最適です
- Google Flights スクレイパー API: 大量かつリアルタイムのデータ抽出向けに設計されており、リクエスト数は無制限です。Bright Data の SERP Scraping API の一部です。
Google Flights から限られたデータを抽出するための、手早くシンプルなスクレイパーです。
- Python 3.9+
- ブラウザ自動化のための Playwright
pip install playwright
playwright install chromiumWebスクレイピングは初めてですか? こちらの Python で学ぶ Webスクレイピング入門ガイド をご覧ください
- google-flights-scraper.py を開きます
- 次の変数を更新します:
url: Google Flights のURLを貼り付けます(通常tfsを含みます)。
- スクリプトを実行します。
💡 Pro Tip: Google のアンチスクレイピング対策による検知を最小化するために、HEADLESS = False に設定してください。
{
"airline": "Emirates",
"departure_time": "4:15 AM",
"arrival_time": "2:00 PM",
"duration": "22 hr 15 min",
"stops": "1 stop in DXB",
"price": "$1,139",
"co2_emissions": "1,092 kg CO2e",
"emissions_variation": "+6% emissions"
}無料スクレイパーにはいくつかの制約があります:
- IPアドレスがブロックされるリスクが高いです
- リクエスト量が制限されます
- CAPTCHA が頻繁に発生します
- 本番利用には信頼性が不十分です
これらの制限なしで堅牢かつスケーラブルなスクレイピングを行うには、以下の Bright Data 専用APIをご検討ください。👇
Bright Data の Google Flights スクレイパー API は SERP Scraping API に統合されており、当社の広範な プロキシネットワーク を活用して、価格、スケジュール、航空会社の詳細などのリアルタイムなフライトデータを、CAPTCHA や IP ブロックなしで大規模に抽出します。
- グローバルな正確性: 特定の場所に合わせた結果を提供します
- Pay-Per-Success: 成功したリクエストに対してのみ支払います
- リアルタイムデータ: 最新のフライトデータを数秒で取得します
- 無制限のスケーラビリティ: 大量のスクレイピングを容易に処理します
- コスト効率: 高価なインフラが不要になります
- 信頼性の高いパフォーマンス: ブロック回避技術を内蔵しています
- 24/7 専門サポート: 必要なときにいつでも支援を受けられます
- Bright Data アカウントを作成 します(新規ユーザーには $5 のクレジットが付与されます)。
- API key を生成します。
- ステップバイステップガイド に従って SERP API を設定し、認証情報をセットアップします。
API エンドポイントへ直接リクエストします。
cURL 例:
curl https://api.brightdata.com/request \
-H "Content-Type: application/json" \
-H "Authorization: Bearer API_TOKEN" \
-d '{
"zone": "ZONE_NAME",
"url": "https://www.google.com/travel/flights/search?tfs=CBwQAhojEgoyMDI1LTA0LTAxagcIARIDREVMcgwIAxIIL20vMDRqcGxAAUgBcAGCAQsI____________AZgBAg",
"format": "raw"
}'Python 例:
import requests
url = "https://api.brightdata.com/request"
headers = {"Content-Type": "application/json", "Authorization": "Bearer API_TOKEN"}
payload = {
"zone": "ZONE_NAME",
"url": "https://www.google.com/travel/flights/search?tfs=CBwQAhojEgoyMDI1LTA0LTAxagcIARIDREVMcgwIAxIIL20vMDRqcGxAAUgBcAGCAQsI____________AZgBAg",
"format": "raw",
}
response = requests.post(url, headers=headers, json=payload)
with open("google-flights-data.html", "w", encoding="utf-8") as file:
file.write(response.text)
print("HTML response saved to 'google-flights-data.html'.")代わりに、Bright Data のプロキシルーティング方式を使用します。
cURL 例:
curl -i \
--proxy brd.superproxy.io:33335 \
--proxy-user "brd-customer-<customer-id>-zone-<zone-name>:<zone-password>" \
-k \
"https://www.google.com/travel/flights/search?tfs=CBwQAhojEgoyMDI1LTA0LTAxagcIARIDREVMcgwIAxIIL20vMDRqcGxAAUgBcAGCAQsI____________AZgBAg"Python 例:
import requests
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
host = "brd.superproxy.io"
port = 33335
username = "brd-customer-<customer-id>-zone-<zone-name>"
password = "<zone-password>"
proxy_url = f"http://{username}:{password}@{host}:{port}"
proxies = {"http": proxy_url, "https": proxy_url}
url = "https://www.google.com/travel/flights/search?tfs=CBwQAhojEgoyMDI1LTA0LTAxagcIARIDREVMcgwIAxIIL20vMDRqcGxAAUgBcAGCAQsI____________AZgBAg"
response = requests.get(url, proxies=proxies, verify=False)
with open("google-flights-data.html", "w", encoding="utf-8") as file:
file.write(response.text)
print("Response saved to 'google-flights-data.html'.")👉 完全な HTML 出力 をご覧ください。
注: 本番利用では、SSL Certificate Guide に従って Bright Data の SSL 証明書を読み込んでください。
これらのオプションパラメータを使って、Google Flights のデータ抽出を微調整できます。
場所と言語に基づいて検索結果をカスタマイズします:
| Parameter | Description | Example |
|---|---|---|
| gl | 2文字の国コード | gl=us (United States) |
| hl | 2文字の言語コード | hl=en (English) |
例: パリからロンドンへのフライトをフランス語で検索します:
curl --proxy brd.superproxy.io:33335 --proxy-user brd-customer-<customer-id>-zone-<zone-name>:<zone-password> \
"https://www.google.com/travel/flights/search?tfs=CBwQAhojEgoyMDI1LTA0LTAxagcIARIDQ0RHcgwIAxIIL20vMDRqcGxAAUgBcAGCAQsI____________AZgBAg&hl=fr&gl=fr"curr パラメータを使用して、返される価格の通貨を定義します。
例: 価格を USD で返します。
curl --proxy brd.superproxy.io:33335 --proxy-user brd-customer-<customer-id>-zone-<zone-name>:<zone-password> \
"https://www.google.com/travel/flights/search?tfs=CBwQAhojEgoyMDI1LTA0LTAxagcIARIDQ0RHcgwIAxIIL20vMDRqcGxAAUgBcAGCAQsI____________AZgBAg&hl=fr&gl=fr&curr=USD"- ドキュメント: SERP API Documentation
- 関連 API: Web Unlocker API, SERP API, Google Search API, Google News Scraper, Google Trends API, Google Reviews API, Google Hotels API
- Google スクレイピングチュートリアル:
- ユースケース:
- 追加の読み物: Best SERP APIs
- サポートへのお問い合わせ: support@brightdata.com



