1. A method for extracting content from input markup language text comprising: (a) classifying, by a computer, the input markup language text into a classification; (b) after classifying the input markup language text, parsing, by the computer, the input markup language text into a first hierarchical data model; (c) generating, by the computer, a second hierarchical data model based on the first hierarchical data model, using one or more filters to remove content from the first hierarchical data model, wherein at least one setting of the one or more filters controls the removal of content from two or more portions of the first hierarchical data model, and wherein the at least on setting is selected based on the classification of the input markup language text; and (d) generating, by the computer, output markup language text from the second hierarchical data model, wherein one of the one or more filters removes at least one of tables, programming script, styles and image links from the first hierarchical data model based on one or more predetermined rules, wherein one of the one or more predetermined rules is removing tables containing less than a threshold number of characters, and wherein one of the one or more predetermined rules is removing image links that have a source equivalent to any source within a set of blocked sources.