1. A system comprising one or more processors and a non-transitory storage medium comprising program logic for execution by the one or more processors, the program logic comprising: a native advertisement placement engine that: obtains a Document Object Model of an HTML document; identifies Document Object Model elements, of the Document Object Model, associated with native advertisement placement candidate containers; identifies, with the Document Object Model, HTML tag sequences that include at least L tags, where L is a specified number, repeat at least R times, where R is a specified number, and all correspond to a single element of the Document Object Model; constructs a suffix tree of a string of tags comprising all tags in the Document Object Model; performs a traversal of the suffix tree, beginning with a root node, and computes, for each node that is non-root and non-leaf, a number of leaf nodes of the each node; analyzes the Document Object Model by performing a recursion of the suffix tree; filtering determined candidate containers based on at least one of (1) candidate container size, (2) size of a meta-container associated with multiple candidate containers, (3) number of element types included within a candidate container, (4) anticipated display location of native advertisements associated with candidate containers, and (5) topology of the Document Object Model; and based at least in part on the analysis associated with the Document Object Model, and utilizing at least some of the identified elements, determines, within the Document Object Model, one or more native advertisement placement candidate containers.
1. A system comprising one or more processors and a non-transitory storage medium comprising program logic for execution by the one or more processors, the program logic comprising: a native advertisement placement engine that: obtains a Document Object Model of an HTML document; identifies Document Object Model elements, of the Document Object Model, associated with native advertisement placement candidate containers; identifies, with the Document Object Model, HTML tag sequences that include at least L tags, where L is a specified number, repeat at least R times, where R is a specified number, and all correspond to a single element of the Document Object Model; constructs a suffix tree of a string of tags comprising all tags in the Document Object Model; performs a traversal of the suffix tree, beginning with a root node, and computes, for each node that is non-root and non-leaf, a number of leaf nodes of the each node; analyzes the Document Object Model by performing a recursion of the suffix tree; filtering determined candidate containers based on at least one of (1) candidate container size, (2) size of a meta-container associated with multiple candidate containers, (3) number of element types included within a candidate container, (4) anticipated display location of native advertisements associated with candidate containers, and (5) topology of the Document Object Model; and based at least in part on the analysis associated with the Document Object Model, and utilizing at least some of the identified elements, determines, within the Document Object Model, one or more native advertisement placement candidate containers. 7. The system of claim 1 , comprising utilizing a node flattening technique in identifying HTML tag sequences.