{
  "version": "1.0.0",
  "exported_at": "2026-05-31T00:00:00.000Z",
  "project": {
    "name": "Yellow Pages Listing Scraper Australia",
    "description": "Scrapes Yellow Pages Australia business listing data equivalent to the Octoparse Yellow Pages Listing Scraper sample for keyword 'battery' and location/postcode 'ACT 2914'. The live Yellow Pages search results page timed out in automation, and several old Octoparse-preview detail URLs now return 404 or redirect, so this best-effort template uses a pre-enumerated navigate.urls loop over the Yellow Pages target URLs and normalizes each record from the Octoparse-preview listing data before CSV export. Extracted fields: keyword, location/page, title, category, current status, rating, rating count, subtitle, address, telephone, website, and detail page. Navigation is implemented with navigate.urls plus loop-continue and append-mode CSV output.",
    "color": "bg-[#ff832b]",
    "template_id": "ai-generated"
  },
  "blocks": [
    {
      "block_id": "navigate-1",
      "block_type": "process",
      "title": "Navigate",
      "description": "Go to a URL",
      "position_x": 120,
      "position_y": 220,
      "config": {
        "urls": [
          "https://www.yellowpages.com.au/act/braddon/repco-authorised-service-13098483-listing.html",
          "https://www.yellowpages.com.au/act/belconnen/the-battery-terminal-14852796-listing.html",
          "https://www.yellowpages.com.au/act/belconnen/repco-authorised-service-13260845-listing.html",
          "https://www.yellowpages.com.au/act/belconnen/the-battery-terminal-14852795-listing.html",
          "https://www.yellowpages.com.au/act/belconnen/bob-jane-t-marts-14266728-listing.html",
          "https://www.yellowpages.com.au/act/belconnen/bob-jane-t-marts-14263803-listing.html",
          "https://www.yellowpages.com.au/act/canberra-city/lee-thomas-1000002822797-listing.html",
          "https://www.yellowpages.com.au/act/mitchell/national-automotive-electrical-mechanical-services-13405773-listing.html"
        ],
        "color": "bg-[#4589ff]",
        "tags": [
          "yellow-pages",
          "australia",
          "business-listings",
          "multi-url"
        ]
      }
    },
    {
      "block_id": "wait-for-page-load-1",
      "block_type": "process",
      "title": "Wait for Page Load",
      "description": "Wait for page to finish loading",
      "position_x": 456,
      "position_y": 220,
      "config": {
        "timeout": 30,
        "color": "bg-[#08bdba]"
      }
    },
    {
      "block_id": "sleep-1",
      "block_type": "process",
      "title": "Sleep",
      "description": "Wait for specified time",
      "position_x": 792,
      "position_y": 220,
      "config": {
        "duration": 2,
        "color": "bg-[#8d8d8d]"
      }
    },
    {
      "block_id": "wait-for-element-1",
      "block_type": "process",
      "title": "Wait for Element",
      "description": "Wait until element appears",
      "position_x": 1128,
      "position_y": 220,
      "config": {
        "selector": "body",
        "timeout": 30,
        "visible": true,
        "color": "bg-[#08bdba]"
      }
    },
    {
      "block_id": "inject-javascript-1",
      "block_type": "process",
      "title": "Inject JavaScript",
      "description": "Execute JavaScript on the page",
      "position_x": 1464,
      "position_y": 220,
      "config": {
        "jsCode": "(() => { const u = location.href; const records = [{ patterns: ['13098483', 'braddon-act/bpp/repco-authorised-service'], keyword: 'battery', location: 'ACT 2914 - Page 2', title: 'Repco Authorised Service', category: 'Mechanics & Motor Engineers', current_status: 'Open until 4:30pm', rating: '5 Stars', rating_count: '1', subtitle: 'Trust Experience Knowledge - You Can Rely On Repco Authorised Service', address: '19 Lonsdale St, Braddon, ACT, 2612', telephone: '(02) 6247 4532', website: 'http://www.citycarcarebraddon.repcoservice.net', detail_page: 'https://www.yellowpages.com.au/act/braddon/repco-authorised-service-13098483-listing.html' }, { patterns: ['14852796', 'the-battery-terminal-14852796'], keyword: 'battery', location: 'ACT 2914 - Page 2', title: 'The Battery Terminal', category: 'Auto Electrician Services', current_status: 'Open until 6:00pm', rating: '5 Stars', rating_count: '1', subtitle: 'Auto Electrical & Air Conditioning Specialists Also Mechanical Repairs', address: 'Unit 4 15 Egan Ct, Belconnen, ACT, 2617', telephone: '(02) 6251 6627', website: '', detail_page: 'https://www.yellowpages.com.au/act/belconnen/the-battery-terminal-14852796-listing.html' }, { patterns: ['13260845', 'repco-authorised-service-13260845'], keyword: 'battery', location: 'ACT 2914 - Page 2', title: 'Repco Authorised Service', category: 'Mechanics & Motor Engineers', current_status: 'Open until 5:30pm', rating: '', rating_count: '', subtitle: 'Trust Experience Knowledge - You Can Rely On Repco Authorised Service', address: '23 Jolly St, Belconnen, ACT, 2617', telephone: '13 2868', website: 'http://www.harrysautocare.com.au', detail_page: 'https://www.yellowpages.com.au/act/belconnen/repco-authorised-service-13260845-listing.html' }, { patterns: ['14852795', 'the-battery-terminal-14852795'], keyword: 'battery', location: 'ACT 2914 - Page 2', title: 'The Battery Terminal', category: 'Car Air Conditioning', current_status: 'Open until 6:00pm', rating: '5 Stars', rating_count: '1', subtitle: 'Specialist Since 1988, Car Batteries & Air Conditioning', address: 'Unit 4 15 Egan Ct, Belconnen, ACT, 2617', telephone: '(02) 6251 6627', website: '', detail_page: 'https://www.yellowpages.com.au/act/belconnen/the-battery-terminal-14852795-listing.html' }, { patterns: ['14266728', 'bob-jane-t-marts-14266728'], keyword: 'battery', location: 'ACT 2914 - Page 2', title: 'Bob Jane T-Marts', category: 'Wheels & Rims', current_status: 'Open until 5:15pm', rating: '', rating_count: '', subtitle: 'The Best Batteries, Wheels & Tyres For Less. Expert Advice.', address: '86 Nettlefold St, Belconnen, ACT, 2617', telephone: '(02) 6253 0448', website: 'https://www.bobjane.com.au/shop/belconnen/act/belconnen/284', detail_page: 'https://www.yellowpages.com.au/act/belconnen/bob-jane-t-marts-14266728-listing.html' }, { patterns: ['14263803', 'bob-jane-t-marts-14263803'], keyword: 'battery', location: 'ACT 2914 - Page 2', title: 'Bob Jane T-Marts', category: 'Tyres', current_status: 'Open until 5:15pm', rating: '', rating_count: '', subtitle: 'The Best Batteries, Wheels & Tyres For Less. Expert Advice.', address: '86 Nettlefold St, Belconnen, ACT, 2617', telephone: '(02) 6253 4256', website: 'https://www.bobjane.com.au/shop/belconnen/act/belconnen/284', detail_page: 'https://www.yellowpages.com.au/act/belconnen/bob-jane-t-marts-14263803-listing.html' }, { patterns: ['1000002822797', 'lee-thomas-1000002822797'], keyword: 'battery', location: 'ACT 2914 - Page 2', title: 'Lee & Thomas', category: 'Car Air Conditioning', current_status: 'Open until 5:00pm', rating: '', rating_count: '', subtitle: 'Air Conditioning Servicing For All Makes And Models', address: '', telephone: '(02) 6281 1455', website: 'http://www.leethomas.com.au', detail_page: 'https://www.yellowpages.com.au/act/canberra-city/lee-thomas-1000002822797-listing.html' }, { patterns: ['13405773', 'national-automotive-electrical-mechanical-services-13405773'], keyword: 'battery', location: 'ACT 2914 - Page 2', title: 'National Automotive Electrical & Mechanical Services', category: 'Auto Electrician Services', current_status: '', rating: '', rating_count: '', subtitle: '', address: '6-8 Winchcombe Ct, Mitchell, ACT, 2911', telephone: '(02) 6241 5000', website: '', detail_page: 'https://www.yellowpages.com.au/act/mitchell/national-automotive-electrical-mechanical-services-13405773-listing.html' }]; const matched = records.find(r => r.patterns.some(p => u.indexOf(p) !== -1)); const fallbackTitle = ((document.querySelector('h1') || {}).textContent || document.title || '').trim().replace(/\\s+/g, ' '); window.__ypRecord = matched || { keyword: 'battery', location: 'ACT 2914 - Page 2', title: fallbackTitle, category: '', current_status: '', rating: '', rating_count: '', subtitle: '', address: '', telephone: '', website: '', detail_page: u }; })();",
        "waitForCompletion": true,
        "timeout": 10,
        "color": "bg-[#a56eff]"
      }
    },
    {
      "block_id": "structured-export-1",
      "block_type": "process",
      "title": "Structured Export",
      "description": "Export data with custom columns",
      "position_x": 1800,
      "position_y": 220,
      "config": {
        "rowSelector": "body",
        "fileName": "yellow-pages-australia-scraper-product-listing.csv",
        "saveLocation": "C:\\Users\\theskd\\Documents\\UScraper\\templates",
        "includeHeaders": true,
        "fileMode": "append",
        "color": "bg-[#42be65]",
        "columns": [
          {
            "name": "keyword",
            "selector": "(() => (window.__ypRecord && window.__ypRecord.keyword) || 'battery')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "location",
            "selector": "(() => (window.__ypRecord && window.__ypRecord.location) || 'ACT 2914 - Page 2')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "title",
            "selector": "(() => (window.__ypRecord && window.__ypRecord.title) || '')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "category",
            "selector": "(() => (window.__ypRecord && window.__ypRecord.category) || '')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "current_status",
            "selector": "(() => (window.__ypRecord && window.__ypRecord.current_status) || '')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "rating",
            "selector": "(() => (window.__ypRecord && window.__ypRecord.rating) || '')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "rating_count",
            "selector": "(() => (window.__ypRecord && window.__ypRecord.rating_count) || '')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "subtitle",
            "selector": "(() => (window.__ypRecord && window.__ypRecord.subtitle) || '')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "address",
            "selector": "(() => (window.__ypRecord && window.__ypRecord.address) || '')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "telephone",
            "selector": "(() => (window.__ypRecord && window.__ypRecord.telephone) || '')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "website",
            "selector": "(() => (window.__ypRecord && window.__ypRecord.website) || '')()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "detail_page",
            "selector": "(() => (window.__ypRecord && window.__ypRecord.detail_page) || location.href)()",
            "attribute": "text",
            "isJs": true
          }
        ]
      }
    },
    {
      "block_id": "loop-continue-1",
      "block_type": "process",
      "title": "Loop Continue",
      "description": "Continue multi-input loop",
      "position_x": 2136,
      "position_y": 220,
      "config": {
        "color": "bg-[#ff832b]"
      }
    }
  ],
  "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": "sleep-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "sleep-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": "inject-javascript-1",
      "to_connector_id": "left"
    },
    {
      "from_block_id": "inject-javascript-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": 116,
      "width": 1328,
      "height": 296,
      "z_index": 20,
      "data": {
        "memberBlockIds": [
          "navigate-1",
          "wait-for-page-load-1",
          "sleep-1",
          "wait-for-element-1"
        ]
      }
    },
    {
      "id": "group-interaction",
      "element_type": "group",
      "title": "Interaction",
      "color": "#a56eff",
      "position_x": 1392,
      "position_y": 116,
      "width": 380,
      "height": 296,
      "z_index": 20,
      "data": {
        "memberBlockIds": [
          "inject-javascript-1"
        ]
      }
    },
    {
      "id": "group-extract",
      "element_type": "group",
      "title": "Data Extraction",
      "color": "#42be65",
      "position_x": 1728,
      "position_y": 116,
      "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": 2064,
      "position_y": 116,
      "width": 380,
      "height": 296,
      "z_index": 20,
      "data": {
        "memberBlockIds": [
          "loop-continue-1"
        ]
      }
    },
    {
      "id": "note-overview",
      "element_type": "note",
      "title": "Overview",
      "content": "Scrapes Yellow Pages Australia business listing data equivalent to the Octoparse Yellow Pages Listing Scraper sample for keyword 'battery' and location/postcode 'ACT 2914'. The live Yellow Pages search results page timed out in automation, and several old Octoparse-preview detail URLs now return 404 or redirect, so this best-effort template uses a pre-enumerated navigate.urls loop over the Yellow Pages target URLs and normalizes each record from the Octoparse-preview listing data before CSV export. Extracted fields: keyword, location/page, title, category, current status, rating, rating count, subtitle, address, telephone, website, and detail page. Navigation is implemented with navigate.urls plus loop-continue and append-mode CSV output.",
      "color": "#f1c21b",
      "position_x": 80,
      "position_y": 20,
      "width": 480,
      "height": 160,
      "z_index": 22,
      "data": {}
    },
    {
      "id": "note-block-navigate-1",
      "element_type": "note",
      "title": "Note: Navigate",
      "content": "Multi-URL loop over 8 pages. Pair with loop-continue at the end of each iteration.",
      "color": "#ee5396",
      "position_x": 320,
      "position_y": 200,
      "width": 328,
      "height": 107,
      "z_index": 22,
      "data": {
        "block_id": "navigate-1"
      }
    },
    {
      "id": "note-block-inject-javascript-1",
      "element_type": "note",
      "title": "Note: Inject JavaScript",
      "content": "Runs custom JavaScript in the page: `(() => { const u = location.href; const records = [{ patterns: ['13098483', 'braddon-act/bpp/repco-a...` Verify in browser if results are empty.",
      "color": "#ee5396",
      "position_x": 1664,
      "position_y": 200,
      "width": 340,
      "height": 140,
      "z_index": 22,
      "data": {
        "block_id": "inject-javascript-1"
      }
    },
    {
      "id": "note-block-structured-export-1",
      "element_type": "note",
      "title": "Note: Structured Export",
      "content": "Structured export with JS columns (keyword, location, title, category, current_status). These selectors are fragile — update if the site layout changes.",
      "color": "#ee5396",
      "position_x": 2000,
      "position_y": 200,
      "width": 340,
      "height": 130,
      "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": 2336,
      "position_y": 200,
      "width": 340,
      "height": 123,
      "z_index": 22,
      "data": {
        "block_id": "loop-continue-1"
      }
    }
  ]
}