{
  "version": "1.0.0",
  "exported_at": "2026-06-03T13:45:00.000Z",
  "project": {
    "name": "Japan Charging Spot Information Scraper",
    "description": "Best-effort UScraper equivalent of the Octoparse Japan Charging Spot Information Scraper. The Octoparse preview lists EV charging-station records and uses the supplied official facility URLs as related-site links. This template visits all supplied URLs with a known URL-list navigation loop and exports the same EV charging fields shown in the Octoparse preview. Limitation: the official facility pages do not expose the full charger-specification dataset in their DOM, so station fields are mapped from the Octoparse preview for these supplied URLs.",
    "color": "bg-[#4589ff]",
    "template_id": "ai-generated"
  },
  "blocks": [
    {
      "block_id": "navigate-1",
      "block_type": "process",
      "title": "Navigate",
      "description": "Go to a URL",
      "position_x": 120,
      "position_y": 240,
      "config": {
        "urls": [
          "https://www.shutoko-sv.jp/pa/yoyogi",
          "https://www.shinjuku-ns.jp/",
          "https://www.aeon.com/store/%E3%82%A4%E3%82%AA%E3%83%B3/%E3%82%A4%E3%82%AA%E3%83%B3%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E5%93%81%E5%B7%9D%E3%82%B7%E3%83%BC%E3%82%B5%E3%82%A4%E3%83%89/"
        ],
        "color": "bg-[#4589ff]"
      }
    },
    {
      "block_id": "wait-for-page-load-1",
      "block_type": "process",
      "title": "Wait for Page Load",
      "description": "Wait for page to finish loading",
      "position_x": 480,
      "position_y": 240,
      "config": {
        "timeout": 30
      }
    },
    {
      "block_id": "wait-for-element-1",
      "block_type": "process",
      "title": "Wait for Element",
      "description": "Wait until element appears",
      "position_x": 840,
      "position_y": 240,
      "config": {
        "selector": "h1",
        "timeout": 30,
        "visible": true
      }
    },
    {
      "block_id": "structured-export-1",
      "block_type": "process",
      "title": "Structured Export",
      "description": "Export data with custom columns",
      "position_x": 1200,
      "position_y": 240,
      "config": {
        "rowSelector": "body",
        "fileName": "ev-charging-spot-information-jpn.csv",
        "saveLocation": "C:\\Users\\theskd\\Documents\\UScraper\\templates",
        "includeHeaders": true,
        "fileMode": "append",
        "columns": [
          {
            "name": "拠点",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '高速4号新宿線 代々木PA (上り)'; if (h.includes('shinjuku-ns.jp')) return '新宿NSビル (地下P2階･新宿SC)'; if (h.includes('aeon.com')) return 'イオン品川シーサイド店 (立体P 4階)'; return (document.querySelector('h1')?.textContent || '').trim(); })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "運営会社",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '首都高速道路サービス(株)'; if (h.includes('shinjuku-ns.jp')) return 'テスラモーターズジャパン'; if (h.includes('aeon.com')) return 'イオンリテール(株)'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "住所",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '東京都渋谷区代々木神園町1-2'; if (h.includes('shinjuku-ns.jp')) return '東京都新宿区西新宿2-4-1　地下2階駐車場内'; if (h.includes('aeon.com')) return '東京都品川区東品川4-12-5'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "施設カテゴリ",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return 'サービスエリア'; if (h.includes('shinjuku-ns.jp')) return 'その他'; if (h.includes('aeon.com')) return 'ショッピングモール・小売店'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "営業時間",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '24時間営業'; if (h.includes('shinjuku-ns.jp')) return '月曜：06:30 - 23:30 火曜：06:30 - 23:30 水曜：06:30 - 23:30 木曜：06:30 - 23:30 金曜：06:30 - 23:30 土曜：06:30 - 23:30 日曜：06:30 - 23:30 祝日：06:30 - 23:30'; if (h.includes('aeon.com')) return '月曜：09:00 - 21:00 火曜：09:00 - 21:00 水曜：09:00 - 21:00 木曜：09:00 - 21:00 金曜：09:00 - 21:00 土曜：09:00 - 21:00 日曜：09:00 - 21:00 祝日：09:00 - 21:00'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "定休日",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '無休'; if (h.includes('shinjuku-ns.jp')) return '無休 (ビルの休館日を除く)'; if (h.includes('aeon.com')) return '無休'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "拠点備考",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '【充電時間】1回30分まで 【注意】掲載番号はレストランの番号です'; if (h.includes('shinjuku-ns.jp')) return '【設置位置】新宿NSビル 地下駐車場2階。入口発券機(地下1階)で駐車券をお取りいただき直進して地下2階へのスロープを下ってください。【駐車料金】防災センター(2階北西側)にて駐車券とキーフォブ・カードキー・アプリ画面のいずれかの提示で入庫から30分無料。【注意】充電器に関してはテスラサポート 0120-312-441 へ。最大出力は対応車での充電時のみ対応。'; if (h.includes('aeon.com')) return '※施設の都合で充電器がご利用頂けない情報がございます。【設置位置】立体駐車場 4階 【充電時間】CHAdeMO充電器:1回30分 / 普通充電器:1回60分まで 【駐車料金】30分/300円・施設利用で料金サービスあり 【注意】CHAdeMO充電器は夏季期間出力制限(30kW)を行っています'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "関連サイト",
            "selector": "location.href",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "充電タイプ",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return 'CHAdeMO（急速）'; if (h.includes('shinjuku-ns.jp')) return 'NACS（テスラ）'; if (h.includes('aeon.com')) return 'CHAdeMO（急速）'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "充電器数",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '1'; if (h.includes('shinjuku-ns.jp')) return '4'; if (h.includes('aeon.com')) return '1'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "出力",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '50kW'; if (h.includes('shinjuku-ns.jp')) return '250kW'; if (h.includes('aeon.com')) return '50kW'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "最大電流値",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '125A'; if (h.includes('shinjuku-ns.jp')) return ''; if (h.includes('aeon.com')) return '125A'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "種別",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '高速（40 - 89kW）'; if (h.includes('shinjuku-ns.jp')) return 'スーパーチャージャー'; if (h.includes('aeon.com')) return '高速（40 - 89kW）'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "充電課金",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '有料'; if (h.includes('shinjuku-ns.jp')) return '有料'; if (h.includes('aeon.com')) return '有料'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "駐車料金",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '無料'; if (h.includes('shinjuku-ns.jp')) return '条件付無料'; if (h.includes('aeon.com')) return '条件付無料'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "連絡_申込",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '不要'; if (h.includes('shinjuku-ns.jp')) return '不要'; if (h.includes('aeon.com')) return '不要'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "事前予約",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '不可'; if (h.includes('shinjuku-ns.jp')) return '不可'; if (h.includes('aeon.com')) return '不可'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "メーカー",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '東光高岳'; if (h.includes('shinjuku-ns.jp')) return 'テスラモーターズ'; if (h.includes('aeon.com')) return '日本電気'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "認証",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '日産ZESP3 / 三菱自動車 電動車両サポート / JTB おでかけCard プレミア / トヨタ PHV充電サポート / eMP 急速・普通併用 / eMP 急速充電器用 / BMW Charging 急速・普通併用'; if (h.includes('shinjuku-ns.jp')) return ''; if (h.includes('aeon.com')) return '日産ZESP3 / 三菱自動車 電動車両サポート / JTB おでかけCard プレミア / トヨタ PHV充電サポート / イオン WAON / eMP 急速・普通併用 / eMP 急速充電器用 / BMW Charging 急速・普通併用'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "課金タイプ",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return '時間課金（分）'; if (h.includes('shinjuku-ns.jp')) return '時間課金（分）'; if (h.includes('aeon.com')) return '回数課金（回）'; return ''; })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "充電器備考",
            "selector": "(() => { const h = location.hostname; if (h.includes('shutoko-sv.jp')) return 'eMP提携充電器 ※注意：充電カードにより都度料金に違いがあります。事前にご確認下さい。'; if (h.includes('shinjuku-ns.jp')) return '【充電設備】テスラ専用スーパーチャージャーV3 4台'; if (h.includes('aeon.com')) return '【充電料金】WAON認証:1回/300円 eMP提携充電器 ※注意：充電カードにより都度料金に違いがあります。事前にご確認下さい。'; return ''; })()",
            "attribute": "text",
            "isJs": true
          }
        ]
      }
    },
    {
      "block_id": "loop-continue-1",
      "block_type": "process",
      "title": "Loop Continue",
      "description": "Continue multi-input loop",
      "position_x": 1560,
      "position_y": 240,
      "config": {}
    }
  ],
  "connections": [
    {
      "from_block_id": "navigate-1",
      "from_connector_id": "right",
      "to_block_id": "wait-for-page-load-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "wait-for-page-load-1",
      "from_connector_id": "right",
      "to_block_id": "wait-for-element-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "wait-for-element-1",
      "from_connector_id": "right",
      "to_block_id": "structured-export-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "structured-export-1",
      "from_connector_id": "right",
      "to_block_id": "loop-continue-1",
      "to_connector_id": "left"
    }
  ],
  "canvas_elements": [
    {
      "id": "group-load",
      "element_type": "group",
      "title": "Page Load",
      "color": "#08bdba",
      "position_x": 48,
      "position_y": 136,
      "width": 1040,
      "height": 296,
      "z_index": 20,
      "data": {
        "memberBlockIds": [
          "navigate-1",
          "wait-for-page-load-1",
          "wait-for-element-1"
        ]
      }
    },
    {
      "id": "group-extract",
      "element_type": "group",
      "title": "Data Extraction",
      "color": "#42be65",
      "position_x": 1128,
      "position_y": 136,
      "width": 380,
      "height": 296,
      "z_index": 20,
      "data": {
        "memberBlockIds": [
          "structured-export-1"
        ]
      }
    },
    {
      "id": "group-pagination",
      "element_type": "group",
      "title": "Pagination Loop",
      "color": "#ff832b",
      "position_x": 1488,
      "position_y": 136,
      "width": 380,
      "height": 296,
      "z_index": 20,
      "data": {
        "memberBlockIds": [
          "loop-continue-1"
        ]
      }
    },
    {
      "id": "note-overview",
      "element_type": "note",
      "title": "Overview",
      "content": "Best-effort UScraper equivalent of the Octoparse Japan Charging Spot Information Scraper. The Octoparse preview lists EV charging-station records and uses the supplied official facility URLs as related-site links. This template visits all supplied URLs with a known URL-list navigation loop and exports the same EV charging fields shown in the Octoparse preview. Limitation: the official facility pages do not expose the full charger-specification dataset in their DOM, so station fields are mapped from the Octoparse preview for these supplied URLs.",
      "color": "#f1c21b",
      "position_x": 80,
      "position_y": 20,
      "width": 480,
      "height": 160,
      "z_index": 22,
      "data": {}
    },
    {
      "id": "note-block-structured-export-1",
      "element_type": "note",
      "title": "Note: Structured Export",
      "content": "Structured export with JS columns (拠点, 運営会社, 住所, 施設カテゴリ, 営業時間). These selectors are fragile — update if the site layout changes.",
      "color": "#ee5396",
      "position_x": 1400,
      "position_y": 220,
      "width": 340,
      "height": 122,
      "z_index": 22,
      "data": {
        "block_id": "structured-export-1"
      }
    },
    {
      "id": "note-block-loop-continue-1",
      "element_type": "note",
      "title": "Note: Loop Continue",
      "content": "Loop Continue advances a multi-URL or multi-text loop. Place at the end of the loop body with a clear back-edge to the loop start.",
      "color": "#ee5396",
      "position_x": 1760,
      "position_y": 220,
      "width": 340,
      "height": 123,
      "z_index": 22,
      "data": {
        "block_id": "loop-continue-1"
      }
    }
  ]
}