1. A method of automatically extracting data from a target web page, comprising: selecting data in a source web page; determining the respective DOM (document object model) trees of the source and target web page, and identifying the one or more nodes comprising the selected data in the source web page DOM tree; determining matching paths in the respective DOM trees; for selected data in a node of an unmatched branch of the source web page DOM tree, identifying the nearest matched path in the source web page; identifying the unmatched branch nearest to the corresponding matched path in the target web page; determining if said identified unmatched branch in the target web page DOM tree comprises a target node matching the selected data node; and if so: extracting data from the target node if the mismatch between the respective unmatched branches does not exceed a predefined threshold.