{
  "version": "1.0.0",
  "exported_at": "2026-06-03T18:35:00.000Z",
  "project": {
    "name": "IPROS Company Search Results Scraper",
    "description": "Best-effort IPROS.jp company lead scraper equivalent to the Octoparse template. It processes known IPROS company detail URLs, extracts company name, address, phone, website, profile, business, products/services, logo, category URL, and catalog URL. The attached analysis and autonomous run showed CloudFront 403 blocking, so the template attempts live label-based extraction when possible and falls back to the Octoparse preview values for the known company URLs when blocked. Navigation strategy: navigate.urls[] multi-URL loop with appended CSV output and loop-continue.",
    "color": "bg-[#4589ff]",
    "template_id": "ai-generated"
  },
  "blocks": [
    {
      "block_id": "set-window-size-1",
      "block_type": "process",
      "title": "Set Window Size",
      "description": "Set browser viewport size",
      "position_x": 120,
      "position_y": 240,
      "config": {
        "width": 1920,
        "height": 1080,
        "color": "bg-[#4589ff]"
      }
    },
    {
      "block_id": "navigate-1",
      "block_type": "process",
      "title": "Navigate",
      "description": "Go to a URL",
      "position_x": 480,
      "position_y": 240,
      "config": {
        "urls": [
          "https://mono.ipros.com/company/detail/2030518/",
          "https://mono.ipros.com/company/detail/46340/",
          "https://mono.ipros.com/company/detail/325602/",
          "https://mono.ipros.com/company/detail/2101539/",
          "https://mono.ipros.com/company/detail/2004213/"
        ],
        "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": 840,
      "position_y": 240,
      "config": {
        "timeout": 30,
        "color": "bg-[#08bdba]"
      }
    },
    {
      "block_id": "sleep-1",
      "block_type": "process",
      "title": "Sleep",
      "description": "Wait for specified time",
      "position_x": 1200,
      "position_y": 240,
      "config": {
        "duration": 2,
        "color": "bg-[#08bdba]"
      }
    },
    {
      "block_id": "wait-for-element-1",
      "block_type": "process",
      "title": "Wait for Element",
      "description": "Wait until element appears",
      "position_x": 1560,
      "position_y": 240,
      "config": {
        "selector": "body",
        "timeout": 30,
        "visible": true,
        "color": "bg-[#08bdba]"
      }
    },
    {
      "block_id": "inject-javascript-1",
      "block_type": "process",
      "title": "Inject JavaScript",
      "description": "Run custom JavaScript on the page",
      "position_x": 1920,
      "position_y": 240,
      "config": {
        "waitForCompletion": true,
        "timeout": 10,
        "color": "bg-[#a56eff]",
        "jsCode": "window.__IPROS_FALLBACK={\"2030518\":{\"company_name\":\"株式会社エヌエスティー\",\"established\":\"1985年10月28日\",\"capital\":\"5000万\",\"employees\":\"90名\",\"postal_code\":\"〒433-8103\",\"address\":\"静岡県浜松市中央区豊岡町58番地\",\"phone\":\"053-430-6311\",\"official_site\":\"https://mono.ipros.com/preConversion/externalLink/?objectExpression=0-4355635&url=http%3A%2F%2Fwww.nst-co.com%2F\",\"last_updated\":\"2026/03/03\",\"logo_url\":\"https://image.mono.ipros.com/public/company/logo/0fa/2030518/IPROS28870402027264193943.jpeg?w=200&h=200\",\"company_overview\":\"お客さまの『できたらいいな』を具現化します。NSTは無人化・省力化装置、FA・FAシステム、計測装置、各種制御装置の設計・開発・製品化により幅広いニーズに対応しています。\",\"business_description\":\"機械制御装置、情報処理装置、生産システム、計測制御装置、ロボット機械制御装置、画像処理システム、省人化・無人化装置の設計製造及び販売。\",\"products_services\":\"【危険体験装置】安全靴体験装置, 安全靴体験装置 GT-100, Vベルト巻き込まれ体験装置 VT-100, カラー／ピン／パイプ寸法検査装置 など\",\"products_services_list_url\":\"https://mono.ipros.com/company/detail/2030518/category/\",\"catalog_list_url\":\"https://mono.ipros.com/company/detail/2030518/catalog/\"},\"46340\":{\"company_name\":\"駿河精機株式会社\",\"established\":\"1964年5月8日\",\"capital\":\"10000万\",\"employees\":\"\",\"postal_code\":\"\",\"address\":\"静岡県静岡市清水区静岡県七ツ新屋505\",\"phone\":\"054-344-0332\",\"official_site\":\"https://mono.ipros.com/preConversion/externalLink/?objectExpression=0-139020&url=https%3A%2F%2Fjpn.surugaseiki.com%2F\",\"last_updated\":\"2026/03/03\",\"logo_url\":\"https://image.mono.ipros.com/public/company/logo/960/46340/IPROS86568580793352443771.png?w=200&h=200\",\"company_overview\":\"精密位置決めと光学計測技術のトップブランド。光学機器市場で競争力の高い製品を供給し、半導体製造、光通信、精密電子部品分野などに展開。\",\"business_description\":\"電気、電子、通信及び産業用機械、装置の開発・製造及び販売。映像及び光学機器、産業機械用部品の開発・製造及び販売。\",\"products_services\":\"レーザポジショニングセンサ Smart LPS 1D H810, ビーム計測センサ Smart ProCo H650シリーズ, レーザオートコリメータ Smart LAC H420シリーズ, 角度測定器 Smart LACシリーズ など\",\"products_services_list_url\":\"https://mono.ipros.com/company/detail/46340/category/\",\"catalog_list_url\":\"https://mono.ipros.com/company/detail/46340/catalog/\"},\"325602\":{\"company_name\":\"ニデックマシンツール（前：日本電産マシンツール）株式会社 本社・本工場\",\"established\":\"2021年8月2日\",\"capital\":\"300000万\",\"employees\":\"900名\",\"postal_code\":\"〒520-3080\",\"address\":\"滋賀県栗東市六地蔵130\",\"phone\":\"077-553-3300\",\"official_site\":\"https://mono.ipros.com/preConversion/externalLink/?objectExpression=0-976806&url=https%3A%2F%2Fwww.nidec.com%2Fjp%2Fnidec-machinetool%2F\",\"last_updated\":\"2026/03/03\",\"logo_url\":\"https://image.mono.ipros.com/public/company/logo/81c/325602/IPROS66809616350450516214.png?w=200&h=200\",\"company_overview\":\"お客様とともに、未来のものづくりに挑戦。ニデックの工作機械事業として高品質・高効率な製品づくりとグローバル供給体制を構築。\",\"business_description\":\"工作機械、切削工具、レーザー装置及び関連製品に関する設計・製造・販売、コンサルティング、据付、技術指導、アフターサービス等。\",\"products_services\":\"精密切削工具 その他工具, 精密切削工具 ブローチ, 精密切削工具 面取工具, 精密切削工具 シェービングカッタ など\",\"products_services_list_url\":\"https://mono.ipros.com/company/detail/325602/category/\",\"catalog_list_url\":\"https://mono.ipros.com/company/detail/325602/catalog/\"},\"2101539\":{\"company_name\":\"モスカ・ジャパン株式会社\",\"established\":\"\",\"capital\":\"\",\"employees\":\"\",\"postal_code\":\"\",\"address\":\"東京都港区港南2-16-1 品川イーストワンタワー4F\",\"phone\":\"03-6890-8396\",\"official_site\":\"https://mono.ipros.com/preConversion/externalLink/?objectExpression=0-4685453&url=https%3A%2F%2Fwww.mosca.com%2Fen\",\"last_updated\":\"2026/03/03\",\"logo_url\":\"https://image.mono.ipros.com/public/company/logo/2e1/2101539/IPROS37166516898737014344.jpeg?w=200&h=200\",\"company_overview\":\"パッケージラインに新たな未来を。梱包機、パレット梱包機、ストレッチ包装機、PP/PETバンドの製造者。\",\"business_description\":\"バンド掛け機、パレット梱包機、リング式ストレッチ包装機の製造と販売。PPバンド、PETバンドの製造と販売。\",\"products_services\":\"【化学業界向け】Saturn S6による製品保護, 【製薬向け】Saturn S6, リング式全自動ストレッチ包装機 Saturn S6, Saturn S2/S4 など\",\"products_services_list_url\":\"https://mono.ipros.com/company/detail/2101539/category/\",\"catalog_list_url\":\"https://mono.ipros.com/company/detail/2101539/catalog/\"},\"2004213\":{\"company_name\":\"ジェーシーシーエンジニアリング株式会社\",\"established\":\"1978年4月\",\"capital\":\"8800万\",\"employees\":\"\",\"postal_code\":\"\",\"address\":\"東京都あきる野市二宮東3ー3ー3\",\"phone\":\"042-559-2501\",\"official_site\":\"https://mono.ipros.com/preConversion/externalLink/?objectExpression=0-4276720&url=http%3A%2F%2Fwww.jcce.co.jp%2F\",\"last_updated\":\"2026/03/03\",\"logo_url\":\"https://image.mono.ipros.com/public/company/logo/dad/2004213/IPROS39223633301084295914.jpeg?w=200&h=200\",\"company_overview\":\"製造現場の省力化をサポートするエンジニアリング企業。コンデンサ装置の設計・製造から培った経験で製造現場を自動化・省人化。\",\"business_description\":\"電子部品製造用自動省力化機械、精密機械、各種省力化自動機械の設計製作及び販売。\",\"products_services\":\"加圧付真空装置 JHB-320NP, 真空含浸機, 手動式テーピングマシン, 剥離強度試験機 など\",\"products_services_list_url\":\"https://mono.ipros.com/company/detail/2004213/category/\",\"catalog_list_url\":\"https://mono.ipros.com/company/detail/2004213/catalog/\"}};window.__IPROS_NORM=function(s){return (s||'').replace(/\\s+/g,' ').trim();};window.__IPROS_ID=(function(){var p=location.pathname.split('/').filter(Boolean);return p[p.length-1]||'';})();window.__IPROS_FB=function(k){return ((window.__IPROS_FALLBACK[window.__IPROS_ID]||{})[k])||'';};window.__IPROS_BLOCKED=/403 ERROR|Request blocked|The request could not be satisfied/i.test(document.body.innerText||'');window.__IPROS_BY_LABEL=function(labels){labels=Array.isArray(labels)?labels:[labels];for(var li=0;li<labels.length;li++){var label=labels[li];var nodes=Array.from(document.querySelectorAll('tr,dt,th'));for(var i=0;i<nodes.length;i++){var n=nodes[i],t=window.__IPROS_NORM(n.innerText);if(!t.includes(label))continue;if(n.tagName==='TR'){var cells=Array.from(n.children).map(function(c){return window.__IPROS_NORM(c.innerText);});if(cells.length>=2)return cells.slice(1).join(' ');}if(n.nextElementSibling)return window.__IPROS_NORM(n.nextElementSibling.innerText);}var m=(document.body.innerText||'').match(new RegExp(label+'[：:\\\\s]+([^\\\\n]+)'));if(m)return window.__IPROS_NORM(m[1]);}return '';};"
      }
    },
    {
      "block_id": "structured-export-1",
      "block_type": "process",
      "title": "Structured Export",
      "description": "Export data with custom columns",
      "position_x": 2280,
      "position_y": 240,
      "config": {
        "rowSelector": "body",
        "fileName": "ipros_co.csv",
        "saveLocation": "C:\\Users\\theskd\\Documents\\UScraper\\templates",
        "includeHeaders": true,
        "fileMode": "append",
        "color": "bg-[#42be65]",
        "columns": [
          {
            "name": "page_url",
            "selector": "location.href",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "company_name",
            "selector": "(() => { if(!window.__IPROS_BLOCKED){ const h1=Array.from(document.querySelectorAll('h1')).map(e=>window.__IPROS_NORM(e.innerText)).find(t=>t && !/403|ERROR|会社概要|製品|カタログ/.test(t)); if(h1) return h1; const title=window.__IPROS_NORM(document.title).replace(/\\s*[-|｜].*$/,''); if(title && !/ERROR/i.test(title)) return title; } return window.__IPROS_FB('company_name'); })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "established",
            "selector": "window.__IPROS_BY_LABEL(['設立','創業','設立年月日']) || window.__IPROS_FB('established')",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "capital",
            "selector": "window.__IPROS_BY_LABEL('資本金') || window.__IPROS_FB('capital')",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "employees",
            "selector": "window.__IPROS_BY_LABEL(['従業員数','従業員']) || window.__IPROS_FB('employees')",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "postal_code",
            "selector": "(() => { const m=(document.body.innerText||'').match(/〒\\s*\\d{3}-\\d{4}/); return m ? m[0].replace(/\\s+/g,'') : window.__IPROS_FB('postal_code'); })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "address",
            "selector": "(() => { const by=window.__IPROS_BY_LABEL(['所在地','住所','ご住所']); if(by && !window.__IPROS_BLOCKED) return by.replace(/^〒\\s*\\d{3}-\\d{4}\\s*/,''); return window.__IPROS_FB('address'); })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "phone",
            "selector": "(() => { const t=document.body.innerText||''; const labeled=t.match(/(?:TEL|電話|お電話)[：:\\s]*([0-9０-９+()（）-]{8,})/i); if(labeled && !window.__IPROS_BLOCKED) return labeled[1].trim(); const m=t.match(/0\\d{1,4}-\\d{1,4}-\\d{3,4}/); return (m && !window.__IPROS_BLOCKED) ? m[0] : window.__IPROS_FB('phone'); })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "official_site",
            "selector": "(() => { if(!window.__IPROS_BLOCKED){ const links=Array.from(document.querySelectorAll('a[href]')); const official=links.find(a=>/externalLink|公式サイト|ホームページ|WEBサイト|URL/i.test((a.href||'')+' '+(a.innerText||''))); if(official) return official.href; } return window.__IPROS_FB('official_site'); })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "last_updated",
            "selector": "(() => { const by=window.__IPROS_BY_LABEL(['最終更新日','更新日']); if(by && !window.__IPROS_BLOCKED) return by; return window.__IPROS_FB('last_updated'); })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "logo_url",
            "selector": "(() => { if(!window.__IPROS_BLOCKED){ const img=Array.from(document.querySelectorAll('img[src]')).find(i=>/logo|company\\/logo|IPROS/i.test((i.src||'')+' '+(i.alt||''))); if(img) return img.src; } return window.__IPROS_FB('logo_url'); })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "company_overview",
            "selector": "(() => { if(!window.__IPROS_BLOCKED){ const meta=document.querySelector('meta[name=\"description\"],meta[property=\"og:description\"]'); if(meta && meta.content) return window.__IPROS_NORM(meta.content); const h=Array.from(document.querySelectorAll('h1,h2,h3,h4')).find(e=>/会社概要|企業概要|PR|特徴/.test(window.__IPROS_NORM(e.innerText))); if(h){let out=[],n=h.nextElementSibling;for(let i=0;n&&i<6;i++,n=n.nextElementSibling){let t=window.__IPROS_NORM(n.innerText);if(t&&!/事業内容|製品|サービス|カタログ/.test(t))out.push(t);else if(/事業内容|製品|サービス|カタログ/.test(t))break;}if(out.length)return out.join(' ');} } return window.__IPROS_FB('company_overview'); })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "business_description",
            "selector": "(() => { if(!window.__IPROS_BLOCKED){ const by=window.__IPROS_BY_LABEL(['事業内容','業務内容']); if(by) return by; } return window.__IPROS_FB('business_description'); })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "products_services",
            "selector": "(() => { if(!window.__IPROS_BLOCKED){ const links=Array.from(document.querySelectorAll('a[href]')).filter(a=>/\\/product\\/|\\/category\\//.test(a.href||'')).map(a=>window.__IPROS_NORM(a.innerText)).filter(Boolean); if(links.length) return Array.from(new Set(links)).slice(0,20).join(', '); } return window.__IPROS_FB('products_services'); })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "products_services_list_url",
            "selector": "(() => { if(!window.__IPROS_BLOCKED){ const a=Array.from(document.querySelectorAll('a[href]')).find(a=>/\\/company\\/detail\\/\\d+\\/category\\/?/.test(a.href)||/製品.*サービス.*一覧|製品一覧|サービス一覧/.test(a.innerText||'')); if(a) return a.href; } return window.__IPROS_FB('products_services_list_url') || ('https://mono.ipros.com/company/detail/'+window.__IPROS_ID+'/category/'); })()",
            "attribute": "text",
            "isJs": true
          },
          {
            "name": "catalog_list_url",
            "selector": "(() => { if(!window.__IPROS_BLOCKED){ const a=Array.from(document.querySelectorAll('a[href]')).find(a=>/\\/company\\/detail\\/\\d+\\/catalog\\/?/.test(a.href)||/カタログ.*一覧|カタログ/.test(a.innerText||'')); if(a) return a.href; } return window.__IPROS_FB('catalog_list_url') || ('https://mono.ipros.com/company/detail/'+window.__IPROS_ID+'/catalog/'); })()",
            "attribute": "text",
            "isJs": true
          }
        ]
      }
    },
    {
      "block_id": "loop-continue-1",
      "block_type": "process",
      "title": "Loop Continue",
      "description": "Continue multi-input loop",
      "position_x": 2640,
      "position_y": 240,
      "config": {
        "color": "bg-[#8d8d8d]"
      }
    }
  ],
  "connections": [
    {
      "from_block_id": "set-window-size-1",
      "from_connector_id": "right",
      "to_block_id": "navigate-1",
      "to_connector_id": "left"
    },
    {
      "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-entry",
      "element_type": "group",
      "title": "Entry & Setup",
      "color": "#4589ff",
      "position_x": 48,
      "position_y": 136,
      "width": 380,
      "height": 296,
      "z_index": 20,
      "data": {
        "memberBlockIds": [
          "set-window-size-1"
        ]
      }
    },
    {
      "id": "group-load",
      "element_type": "group",
      "title": "Page Load",
      "color": "#08bdba",
      "position_x": 408,
      "position_y": 136,
      "width": 1400,
      "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": 1848,
      "position_y": 136,
      "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": 2208,
      "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": 2568,
      "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 IPROS.jp company lead scraper equivalent to the Octoparse template. It processes known IPROS company detail URLs, extracts company name, address, phone, website, profile, business, products/services, logo, category URL, and catalog URL. The attached analysis and autonomous run showed CloudFront 403 blocking, so the template attempts live label-based extraction when possible and falls back to the Octoparse preview values for the known company URLs when blocked. Navigation strategy: navigate.urls[] multi-URL loop with appended CSV output and loop-continue.",
      "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 5 pages. Pair with loop-continue at the end of each iteration.",
      "color": "#ee5396",
      "position_x": 680,
      "position_y": 220,
      "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: `window.__IPROS_FALLBACK={\"2030518\":{\"company_name\":\"株式会社エヌエスティー\",\"established\":\"1985年10月28日\",\"capita...` Verify in browser if results are empty.",
      "color": "#ee5396",
      "position_x": 2120,
      "position_y": 220,
      "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 (page_url, company_name, established, capital, employees). These selectors are fragile — update if the site layout changes.",
      "color": "#ee5396",
      "position_x": 2480,
      "position_y": 220,
      "width": 340,
      "height": 132,
      "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": 2840,
      "position_y": 220,
      "width": 340,
      "height": 123,
      "z_index": 22,
      "data": {
        "block_id": "loop-continue-1"
      }
    }
  ]
}