ну, если кратко: это задача поиска ОСНОВНОГО контента страницы.
1. Удаляем все контейнеры (кроме тэгов разметки текста), с количеством дочерних элементов превышающих 1.
2. Чистим контейнер body от всех тегов, кроме тегов-контейнеров (div,td)
3. Находим контейнер (div,td) с самым длинным текстом.
4. Смело его грабим.
Пример.
Было:
<div1>
<div2>
<a href="/1/">link1</a>
<a href="/2/">link2</a>
</div>
<div3>
<span contetnt>
some text
<p>
<i>more text</i>
</p>
</span contetnt>
</div3>
</div1>
Стало:
<div3>
some text
more text
</div3>