🌈

8. 万博自動化検証 ― ページ遷移に沿った処理フロー(当日予約編)

に公開

8. 万博自動化検証 ― ページ遷移に沿った処理フロー(当日予約編)

📌 前回の記事7. 万博自動化検証 ― 3日前空き枠先着予約(後編)


実行 URL(@match)


[https://ticket.expo2025.or.jp/event_search/](https://ticket.expo2025.or.jp/event_search/)*
[https://ticket.expo2025.or.jp/event_time/](https://ticket.expo2025.or.jp/event_time/)*


具体実装処理概要

コードの流用について

当日予約ページのサイト構成は、基本的に「3日前空き枠先着予約」と同じ仕組みで動いています。
そのため、一覧展開(もっと見る) → 空き枠検出 → 時間帯選択 → 申込 → 戻る・復帰 の流れは、3日前の自動化コードをそのまま流用可能です。

ただし、当日予約には独自の特徴があるため、以下の点に注意する必要があります。


当日予約に特化して注意すべき点

  1. 競争率が圧倒的に高い

    • 3日前予約に比べ、当日予約は桁違いの競争率になります。
    • 全パビリオンを対象にした総当たり的な空き枠検出は現実的ではありません。
  2. 特定パビリオンへの集中が必要

    • 実装の現実解は、特定パビリオンのページを自動で更新 → 空き枠を検出 → 時間帯を判定 → 申込 というシンプルなループに絞ることです。
  3. トップページに戻される問題

    • 当日のアクセス集中により、予約ページから突然トップページに戻される現象が頻発します。
    • トップページから対象パビリオンページへの「復帰処理」を自動化しておくと、利用時のストレスが大幅に軽減されます。
  4. 負荷をかけすぎないこと

    • 当日予約はアクセスが集中しているため、短すぎる間隔でリロードや監視を行うとサイトへの負荷増大につながります。
    • 人手操作と同等の間隔に制御することが、実用面でもマナー面でも推奨されます。

サンプルコード(流用イメージ)

// ==UserScript==
// @name         万博自動化検証 - 当日予約(流用版)
// @namespace    http://tampermonkey.net/
// @version      1.0
// @match        https://ticket.expo2025.or.jp/event_search/*
// @match        https://ticket.expo2025.or.jp/event_time/*
// @grant        none
// ==/UserScript==

(function() {
  'use strict';

  // ここでは 3日前先着予約の記事で示した処理を流用:
  // - 「もっと見る」ボタン展開
  // - 空き枠検出
  // - 時間帯ラジオボタン選択
  // - 申込ボタン監視とクリック
  // - モーダル検出と閉じる処理
  // - 戻るボタンによる復帰
  //
  // 当日予約用に特化させる場合は以下を調整:
  // - 対象パビリオンのURLに @match を絞る
  // - 検出条件をそのパビリオン専用に設定
  // - トップページに戻された場合の復帰処理を追加
})();

筆者の感想

筆者自身、2025年9月中旬に実際に万博に乗り込みました。
一度きりの万博であったため、できる限りの準備を行い、事前検証や自動化の試みも重ねました。

しかし、当日の来場者数は 20万人を超えていた こともあり、予約については残念ながら全滅という結果でした。

それでも、感じたことはひとつです。
「万博でスマホばかりを見て何も楽しめなかった」 という事態にならないよう、最大限の準備は惜しまずに行うことは大事ですが、
最後はやはり 目で見て、肌で感じる体験こそが大切 だということです。

予約が取れなくても、万博はとても魅力的で、忘れられない体験となりました。


免責事項

本記事は Web 自動化の学習記録をまとめたものであり、Expo 2025 チケット予約システムの不正利用を助長する意図は一切ありません。
実際にスクリプトを利用する場合は、万博公式の規定や利用規約に従うことが必須です。
本記事を参考にしたことによって生じたいかなる不利益・損害についても、筆者は責任を負いません。


Discussion