A computer-implemented method for analyzing a plurality of websites identified by a web crawler or software agent, by analyzing how particular websites have been built and structured to identify target ecommerce websites with an online store that have been built using a customized or bespoke programming platform, comprising the steps of; analyzing a uniform resource locator (100, 4100) and associated header data (4500, 6102), cookie data (4400, 6101), Javascript files, stylesheets and images identifying a particular website and any descriptor data not including website content by loading any one or more of routing protocol headers, cookies, files and images associated with the website identifiers into memory for subsequent analysis to find evidence of the existence of ecommerce functionality associated with an online store; in a first pass (200, 4200), determining whether online store ecommerce functionality is likely to be supported by the website based on said analysis, or if the website is to be excluded (4300, 5920) from further analysis; in a second pass, analyzing markup language content (4600, 5100) extracted from one or more pages of the website to collect evidence of one or more ecommerce functionalities associated with an online store, comprising; identifying regular expressions from markup language body tag data associated with ecommerce functionality associated with an online store; identifying links to other pages that are likely to contain content relevant to ecommerce functionality associated with an online store from markup language tags; identifying embedded script tags linking to ecommerce functionality associated with an online store; identifying body nodes within the markup language using XML path language syntax queries or JQuery selector queries relevant to ecommerce functionality associated with an online store; identifying regular expressions within the markup language that may be evidence of the existence of ecommerce functionality by parsing against a predefined lexicon; and outputting data describing only those websites which have been analyzed and identified as having evidence of the existence of ecommerce functionality associated with an online store that have been built using a customized or bespoke programming platform (7000, 8000). in a first pass (200, 4200), determining whether online store ecommerce functionality is likely to be supported by the website based on said analysis, or if the website is to be excluded (4300, 5920) from further analysis; in a second pass, analyzing markup language content (4600, 5100) extracted from one or more pages of the website to collect evidence of one or more ecommerce functionalities associated with an online store, comprising; identifying regular expressions from markup language body tag data associated with ecommerce functionality associated with an online store; identifying links to other pages that are likely to contain content relevant to ecommerce functionality associated with an online store from markup language tags; identifying embedded script tags linking to ecommerce functionality associated with an online store; identifying body nodes within the markup language using XML path language syntax queries or JQuery selector queries relevant to ecommerce functionality associated with an online store; identifying regular expressions within the markup language that may be evidence of the existence of ecommerce functionality by parsing against a predefined lexicon; and identifying regular expressions from markup language body tag data associated with ecommerce functionality associated with an online store; identifying links to other pages that are likely to contain content relevant to ecommerce functionality associated with an online store from markup language tags; identifying embedded script tags linking to ecommerce functionality associated with an online store; identifying body nodes within the markup language using XML path language syntax queries or JQuery selector queries relevant to ecommerce functionality associated with an online store; identifying regular expressions within the markup language that may be evidence of the existence of ecommerce functionality by parsing against a predefined lexicon; and outputting data describing only those websites which have been analyzed and identified as having evidence of the existence of ecommerce functionality associated with an online store that have been built using a customized or bespoke programming platform (7000, 8000).