航空運賃は、取得できるほぼどんなデータよりも速く動きます。そしてその多くが条件付きであることを、Google 自身が明示しています。
Google のヘルプ資料には、航空会社の商習慣上のルールにより、運賃・税金・手数料、さらにはどの便が購入可能かまでが都市によって変わり得ること、そして表示される通貨が最終的に請求される通貨とは限らないことが記されています。また、検索を行う場所が結果に影響し、表示される予約パートナーも変わると述べられています。したがって、このエクスポートに含まれる価格は、その路線・その日付について、特定の場所にいる閲覧者に Google が表示した内容であり、その座席の普遍的な価格ではありません。
同じことが、場所だけでなく時間についても言えます。価格は、検索対象の曜日によっても、たまたま検索した日によっても変わります。今朝取得したエクスポートと今夜取得したエクスポートは、どちらも正しく、同じ測定ではありません。このデータの上に何かを組み立てるなら、運賃と同じだけの注意を払って取得時点を記録すべきです。
以上はデータの有用性を損なうものではなく、参照表ではなく時系列データにするというだけのことです。1 回の取得は、その路線がいまいくらかを教えてくれます。同じ取得をスケジュールで繰り返せば、その路線がどう振る舞うかが分かります - そして多くの人が本当に知りたいのは後者です。
コピーする URL はありません。路線と日付を指定するだけです。
departure_date とともに送信します。return_date を追加し、片道なら省略します。公開リファレンスでは、いずれの日付も UNIX タイムスタンプです。出発日を省略した場合は当日の日付が使われます。
このスクレイパーのエクスポートが宣言する列を、ヘッダーの並び順どおりに示します。各説明は、その列の役割と、検索結果ページの同じ位置に Google フライトが何を表示するかを示します。
origin と合わせて、その行が属する路線になります。1 つのファイルに複数の検索が含まれるようになると重要です。2 つの列は、便ではなく検索についてのものです。 departure_date、return_date、query は指定内容を返すもので、これにより 1 つのファイルに多くの路線と日付をまとめられます。これらは残しておき、実行結果を比較する際のキーにしてください。また、2 つの時刻から所要時間を計算しないでください。departure_time は出発地の現地時刻、arrival_time は目的地の現地時刻なので、時差をまたぐ路線では計算が必ず狂います。duration が、それを織り込み済みの列です。
いずれもスクレイパーの癖ではありません。航空運賃の仕組みそのものの性質であり、このエクスポートが正直に支えられる範囲を決めます。
運賃は、表示されたその瞬間においてのみ正しい値です。Google 自身の案内でも、価格は旅行日や航空会社のルールとともに動き、空席状況そのものも変わるとされています。すべての行に取得時刻を並べて保存し、両者を 1 つの観測として扱ってください。実行時刻のない価格表は、もはや解釈できない数字の羅列です。
Google は、運賃・税金・手数料および販売対象の便が都市によって異なり得ること、選んだ場所によって表示される予約パートナーが変わること、表示通貨が請求通貨とは限らないことを述べています。価格比較に意味を持たせるには、比較したい実行の間で検索ロケールを一定に保ち、それがどれだったかを書き留めてください。どの列にも記録されません。
departure_time は出発地の現地時刻、arrival_time は目的地の現地時刻です。大西洋横断路線で一方から他方を引けば、数時間ずれた答え - ときには負の値 - が出ます。duration は時差と乗り継ぎ時間をすでに織り込んだ列であり、同じ路線の 2 つの旅程が半日も違う理由を説明するのが stops です。
フライト検索はウェブで最も強力に保護されている領域のひとつで、このサービスは社内で residential プロキシが必要と記録されています - 防御に引っかかったリクエストは、エラーではなく便が 1 件もないページを返します。空の結果は「この路線に便がない」ではなくリトライすべき状態として扱い、その前提でスケジュールを組んでください。当社にとってこれは仮定の話ではありません。ページ末尾の当社自身の実行に関する注記をご覧ください。
路線の比較が、検索結果ページよりも表として役に立つ場面です。
問いは「この便はいくらか」であることは少なく、ほとんどの場合「いま買うべきか」です。同じ路線と日付をスケジュールで実行し、各行を取得時刻とともに保存すれば、1 回の検索では決して得られない価格の履歴が手に入ります - 出発の何日前から運賃が上がり始めるかも含めて。
出張規程は抽象的に書かれます - 最安運賃、乗り継ぎは 1 回まで、9 時前に到着。社員が実際に飛ぶ路線を取得すれば、その規程を実在の旅程に照らして検証できます。直行便が追加料金に見合う頻度はどれくらいか、優先航空会社の方針が 1 出張あたりいくらのコストになっているか。
複数の路線にわたって見ると、airline、stops、duration が市場の競争構造を描き出します - 唯一の直行便を提供しているのは誰か、乗り継ぎが当たり前なのはどこか、どの航空会社どうしが価格で競っているか。本来なら航空データベンダーから購入するような路線単位のインテリジェンスです。
サブスクリプションも、最低利用額も、ユーザー単位のライセンスもありません。最初の 500 行は当社負担で、以降は従量課金です。
新規アカウントごとに 1 回かぎり。クレジットカードは不要で、すべてのスクレイパーが利用できます。1 路線 1 日付なら旅程の件数は多くないため、無料枠は形だけの試用ではなく、実際に意味のある最初の検証をまかなえます。
旅程 1,000 件でおよそ 2 ドルです。ここでの価値は幅広さではなく繰り返しから生まれるため、賢い使い方は少数の路線を高頻度で取得することです。同じ路線を 1 か月毎日取得しても費用はごくわずかで、単発の検索では答えられない問いに答えられます。
多数の路線と出発日を定期的に追跡するチーム向けに、ボリューム価格、SLA、専用ワーカー、個別のオンボーディングをご用意します。想定件数をお知らせいただければお見積もりします。
LIVESCRAPER10 をご利用ください。旅の残りは、泊まる場所と、行く理由です。この 2 つが空港の前後をカバーします。
端的に言えば「はい」です。公開された運賃は広告であり、その路線を検索するすべての旅行者に表示されます。
Google フライトの検索結果は公開されています。誰でもアカウントなしで路線を検索でき、公開されている価格を調査や比較のために収集することは以前から確立された実務です。データが公開されており、処理がサービスの運用を妨げない限り、これを禁じる連邦法はありません。
扱う内容にも論争の余地はありません。この 11 列はいずれも旅程を記述するものです - 路線、航空会社、時刻、所要時間、運賃。エクスポートのどこにも個人データはありません。乗客も、予約も、旅行者もいません。ファイル内のどの情報も個人を特定せず、お客さまに代わって予約が行われることもありません。
Google の利用規約は自動アクセスを制限しているため、この点は規約上の論点として残ります。当社はログインの背後にあるものには一切触れず、予約も行わず、データ層でサードパーティのトラッカーを動作させることもありません。エクスポートは 30 日後に自動削除されます。
よくいただく質問です。ほかにご不明な点があれば お問い合わせください - 回答を書いているのはボットではなく人間です。
origin、destination、airline、departure_time、arrival_time、duration、stops、price、departure_date、return_date、query です。旅程 1 件につき 1 行。ここでは query が先頭ではなく最後に来る点にご注意ください。当社のサービスとしては異例です。departure_date と return_date、いずれも UNIX タイムスタンプです。出発日を省略した場合は当日の日付が使われます。return_date を省略してください。リファレンスには、指定がない場合は departure_date のみが使われると明記されています。列自体はエクスポートに残り、その行では単に空になります。departure_time は出発空港の現地時刻、arrival_time は目的地の現地時刻なので、差を取ると時差をまたぐ路線では誤り、ときに大きく外れます。時差と乗り継ぎ時間を織り込み済みの duration を使ってください。stops は出発地から目的地までの間に着陸する回数で、0 は直行を意味します。乗り継ぎ便では airline に複数社が示されることがあり、マーケティングキャリアが実際の運航会社でないことも少なくありません。航空券の検討は、その多くが Google フライトから始まります。出発地と目的地を、航空会社と日付を横断して比較し、結果を旅程の一覧として示します。誰が飛ばしているか、いつか、どれくらいかかるか、何回止まるか、いくらか。この画面は 1 便を選ぶために作られています。路線を時間軸で見る問い - 運賃が上がりつつあるのか、直行便が乗り継ぎ便に対してどれだけ上乗せされているのか、ある都市間で実際に競っているのはどの航空会社か - のためには作られていません。このサービスは、路線検索を表に変えることでそれに答えます。旅程 1 件につき 1 行、11 列、CSV・JSON・Excel で出力します。
操作は意図的に単純です。公開リファレンスは各クエリを空港コードの組 - 先に出発地、次に目的地 - として受け取り、往路と復路の日付は別途 UNIX タイムスタンプで指定します。復路の日付を省けば片道検索になり、その場合は出発日のみが使われるとリファレンスに明記されています。出発日自体も、省略すれば当日の日付になります。加えて言語と地域のパラメータがあり、価格への影響が大きいため、ここでは他の多くのサービス以上に設定が重要です。
このデータについて理解すべき核心は、運賃が事実ではなく瞬間だということです。Google 自身の資料はこの点について異例なほど率直です。航空会社の商習慣上のルールにより、運賃・税金・手数料、さらには販売対象の便までが都市によって変わり得ること。検索を行う場所が、表示される予約パートナーを含めて結果に影響すること。そして表示通貨が、最終的に請求される通貨である保証はないこと。価格は旅行日によっても、たまたま検索した日によっても動きます。これらはエクスポートを信用できないものにするのではなく、時系列データにするということです。各行に取得時刻を記録し、比較したい実行の間では検索ロケールを一定に保てば、単独では曖昧な価格が、行動に移せる傾向へと変わります。もうひとつ挙げておくべき落とし穴があります。departure_time は出発空港の現地時刻、arrival_time は目的地の現地時刻なので、一方から他方を引くと、時差をまたぐ路線では誤った答えになります。duration 列は時差と乗り継ぎ時間をすでに織り込んでいます。そちらを使ってください。
このページの根拠について、正直に記しておきます。ここまでの内容はすべて、エクスポートが宣言するスキーマ(11 の列名。当社のローカル実行 6 回すべてでヘッダーは同一でした)か、リクエストの documented な仕様か、Google が自社製品について公表している記述のいずれかです。スクレイピング結果はここにはありません。持っていないからです。その 6 回の実行はいずれも空の配列を返しました。理由は社内に記録されており、繰り返す価値があります。お客さまにも最も起こりやすい事象だからです。このサービスには residential プロキシが必要で、Google の防御に引っかかったリクエストは、エラーではなく便が 1 件もないページとして返ってきます。したがってこのページは、運賃も、航空会社も、所要時間も、旅程の件数も一切示していません。実際のエクスポートで裏づけられない限り、追加されることもありません。一方で、各列が何のためにあり、Google フライトがどう振る舞うかという記述は正確です。まずは無料でお試しを。最初の 500 行は無料で、クレジットカードも不要です。